Foros del Web » Creando para Internet » HTML »

Suma que no funciona con el Chrome

Estas en el tema de Suma que no funciona con el Chrome en el foro de HTML en Foros del Web. Buenos días Estoy haciendo una suma en un formulario, Sumo dos combos y lo muestro en un campo, estoy utilizando este script pero no me ...
  #1 (permalink)  
Antiguo 05/08/2015, 07:17
 
Fecha de Ingreso: agosto-2015
Mensajes: 2
Antigüedad: 9 años, 3 meses
Puntos: 0
Pregunta Suma que no funciona con el Chrome

Buenos días

Estoy haciendo una suma en un formulario, Sumo dos combos y lo muestro en un campo, estoy utilizando este script pero no me esta funcionando cuando utilizo el Chrome, alguien me puede ayudar.

Gracias

<script>
var radio_1=false;
var radio_2=false;
var radio_3=false;

function CheckunCheck(obj){
var checked=false;
switch (obj.id){
case "radio_1":
radio_1=!radio_1;
checked=radio_1;
break;
case "radio_2":
radio_2=!radio_2;
checked=radio_2;
break;
case "radio_3":
radio_3=!radio_3;
checked=radio_3;
break;
}
obj.checked=checked;
}
function Suma(isChecked, myValue)
{
tot = parseInt(document.form1.total.value);
myValue = parseInt(myValue);
if (isChecked.checked) document.form1.total.value = tot + myValue;
else document.form1.total.value = tot - myValue;
}
</script>


<select name="17_cantidad" id="17_cantidad">
<optgroup label="Cantidad">
<option selected="selected">Seleccionar..</option> <option name="radio_1" id="radio_1" onclick="CheckunCheck(this);Suma(this,this.value)" type="radio" value="100" >1</option> <option name="radio_2" id="radio_1" onclick="CheckunCheck(this);Suma(this,this.value)" type="radio" value="200" >2</option> <option name="radio_3" id="radio_1" onclick="CheckunCheck(this);Suma(this,this.value)" type="radio" value="300" >3</option> </optgroup>
</select>

<strong>Total a pagar</strong><input name="total" type="text" value="0" disabled="disabled" />

<input name="chec_1" id="chec_1" onclick="Suma(this,this.value)" type="checkbox" value="95" />Gasto de envio por $95.-para todo el pa&iacute;s<br /><br />
  #2 (permalink)  
Antiguo 05/08/2015, 10:47
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años, 7 meses
Puntos: 74
Respuesta: Suma que no funciona con el Chrome

¿Dices que hay dos combos? Acabo de ejecutar el código pero sólo se me muestra un combo. Este código no me funciona en ningún navegador.
  #3 (permalink)  
Antiguo 05/08/2015, 13:58
 
Fecha de Ingreso: agosto-2015
Mensajes: 2
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Suma que no funciona con el Chrome

Aca te paso el codigo completo, Cuando lo pruebo en el explorer funciona y cuando lo pruebo en el chrome funciona el chekbox solo. _Gracias por la ayuda

<html>

<head>

<title>Documento sin t&iacute;tulo</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script>
var radio_1=false;
var radio_2=false;
var radio_3=false;

function CheckunCheck(obj){
var checked=false;
switch (obj.id){
case "radio_1":
radio_1=!radio_1;
checked=radio_1;
break;
case "radio_2":
radio_2=!radio_2;
checked=radio_2;
break;
case "radio_3":
radio_3=!radio_3;
checked=radio_3;
break;
}
obj.checked=checked;
}
function Suma(isChecked, myValue)
{
tot = parseInt(document.form1.total.value);
myValue = parseInt(myValue);
if (isChecked.checked) document.form1.total.value = tot + myValue;
else document.form1.total.value = tot - myValue;
}
</script>

</head>


<body>

<form method="post" name="form1">
<p>
<select name="17_cantidad" id="17_cantidad">
<optgroup label="Cantidad">
<option selected="selected">Seleccionar..</option>
<option name="radio_1" id="radio_1" onclick="CheckunCheck(this);Suma(this,this.value)" type="radio" value="100" >1</option>
<option name="radio_2" id="radio_2" onclick="CheckunCheck(this);Suma(this,this.value)" type="radio" value="200" >2</option>
<option name="radio_3" id="radio_3" onclick="CheckunCheck(this);Suma(this,this.value)" type="radio" value="300" >3</option>
</optgroup>
</select><br />
<p>
<strong>Extra</strong></p>
<p>

&nbsp;&nbsp; &nbsp <input name="chec_1" id="chec_1" onclick="Suma(this,this.value)" type="checkbox" value="95" />Gasto de envio por $95.-para todo el pa&iacute;s<br /><br /></p>
<p>&nbsp;
</p>

<p>

Total<input name="total" type="text" value="0" disabled="disabled" /></p>

</form>
</body>

</html>

Última edición por silicanig; 05/08/2015 a las 14:01 Razón: me falto texto
  #4 (permalink)  
Antiguo 05/08/2015, 16:00
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años, 7 meses
Puntos: 74
Respuesta: Suma que no funciona con el Chrome

Tienes mal puestos los onclick. Tienes que poner el evento onchange SÓLO en el select, no en los option. Además, no hace falta que pongas id y name en los option.

Código HTML:
Ver original
  1. <script type="text/javascript">
  2. function Suma(objeto)
  3. {
  4.     alert(objeto.value);
  5. }
  6. </head>
  7. <form method="post" name="form1">
  8.     <select onchange="Suma(this)" name="cantidad" id="cantidad">
  9.     <option selected="selected">Seleccionar..</option>
  10.     <option type="radio" value="100" >1</option>
  11.     <option type="radio" value="200" >2</option>
  12.     <option type="radio" value="300" >3</option>
  13.     </select>
  14. </form>
  15. </body>
  16. </html>

Alternativamente, lo puedes hacer con document.getElementById

Código HTML:
Ver original
  1. <script type="text/javascript">
  2. function Suma()
  3. {
  4.     alert(document.getElementById("cantidad").value);
  5. }
  6. </head>
  7. <form method="post" name="form1">
  8.     <select onchange="Suma()" name="cantidad" id="cantidad">
  9.     <option selected="selected">Seleccionar..</option>
  10.     <option type="radio" value="100" >1</option>
  11.     <option type="radio" value="200" >2</option>
  12.     <option type="radio" value="300" >3</option>
  13.     </select>
  14. </form>
  15. </body>
  16. </html>

Última edición por superweb360; 05/08/2015 a las 16:14

Etiquetas: chrome, formulario, suma, todo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:33.