Foros del Web » Programando para Internet » Javascript »

¿Que esta fallando?

Estas en el tema de ¿Que esta fallando? en el foro de Javascript en Foros del Web. Hola: ¿Alguien puede decirme que falla en este codigo? eS UN CODIGO QUE DEBERIA SUMAR LOS DOS INPUT RADIO Código HTML: <SCRIPT LANGUAGE=JavaScript> function Sumar() ...
  #1 (permalink)  
Antiguo 04/11/2009, 03:30
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 8 meses
Puntos: 11
¿Que esta fallando?

Hola:

¿Alguien puede decirme que falla en este codigo?
eS UN CODIGO QUE DEBERIA SUMAR LOS DOS INPUT RADIO


Código HTML:
<SCRIPT LANGUAGE=JavaScript>
function Sumar() {
    var val1;
    var val2;
    
    val1 = (! parseInt(document.factura.sum1.value))?0:parseInt(document.factura.sum1.value);
    val2 = (! parseInt(document.factura.sum2.value))?0:parseInt(document.factura.sum2.value);
    
    
    document.factura.tot.value = val1 + val2;
    
}
</SCRIPT>
<form name=factura>

<input type=radio  name=sum1 value=15 />15
<input type=radio name=sum1 value=20 />20
   <input type=radio  name=sum1 value=30 />30
   <br /><br />
   
<input type=radio value=20 name=sum2 />20
<input type=radio  name=sum2 value=15 />15

   <input type=radio  name=sum2 value=30 />30
   <br /><br />
  <input type=button value="Total:" onClick=Sumar()>
<input name=tot size=6>

</form>

</body> 
  #2 (permalink)  
Antiguo 04/11/2009, 03:37
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: ¿Que esta fallando?

Hola:

Los radios que tienes tienen un value, así que en tu condición suman 0... además, deberías considerarlos como arrays (que es lo que son), y sumar los values de aquellos que se encuentren "checked", de otra forma solo sumarán los que tienen índice 0.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 04/11/2009, 03:39
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: ¿Que esta fallando?

encontre una solucion en este mismo foro

Código HTML:
<html>
<head>
<script type="text/javascript">
function valuechecked(radio) {
   for (i=0; i<radio.length; i++) {
      if (radio[i].checked) {
         return radio[i].value;
      }
   }
}
function sumar() {
   var suma = 0;
   suma += parseInt(valuechecked(form.Transporte));
   suma += parseInt(valuechecked(form.Hospedaje));
   alert();

}
</script>
</head>
<body>

<form name="factura">
<input type="radio" name="Transporte" value="1" checked /> Primera Opción
<input type="radio" name="Transporte" value="2" /> Segunda Opción
<input type="radio" name="Transporte" value="3" /> Tercera Opción
<input type="radio" name="Transporte" value="4" /> Cuarta Opción </p>


<input type="radio" name="Hospedaje" value="1" checked /> Primera Opción
<input type="radio" name="Hospedaje" value="2" /> Segunda Opción
<input type="radio" name="Hospedaje" value="3" /> Tercera Opción
<input type="radio" name="Hospedaje" value="4" /> Cuarta Opción

<input type="button" name="Sumar" value="Sumar" onclick="sumar()" />

</form>
<script language="javascript">
document.write(+suma);
</script>
</body>
</html> 
Lo que no se es como hacer para que salga en pantalla escrito y no en un textarrea ni nada asi. ¿Como lo haria? Grax
  #4 (permalink)  
Antiguo 04/11/2009, 03:47
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: ¿Que esta fallando?

Hola:

Hay muchas formas de escribir algo en una página... aunque puedes usar un input text, y maquillarlo para que tenga el aspecto que quieras (usando estilos, claro), o puedes añadir un nodo de texto en el sitio que quieras la respuesta, o si no quieres complicarte más (bueno, sería muy poco distinto)... puedes usar innerHTML.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 04/11/2009, 03:50
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: ¿Que esta fallando?

Ok, grax. Lo hare con un span o con un p

Última edición por Gothgauss; 04/11/2009 a las 03:56
  #6 (permalink)  
Antiguo 04/11/2009, 04:34
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: ¿Que esta fallando?

El codigo al integrarlo en la pagina web no me funciona en firefox. Alguna idea de porque este bug sucede?

Grax
  #7 (permalink)  
Antiguo 04/11/2009, 05:12
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: ¿Que esta fallando?

Hola:

A simple vista supongo que al no tener parámetros sumar(), ese objeto form que tienes en la función no sabe que es... ... tal vez debería llevar como parámetro el propio formulario... onclick="sumar(this.form)"... revisa ese detalle y nos cuentas.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 04/11/2009, 06:29
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: ¿Que esta fallando?

Lo he probado pero sigue fallando :(
  #9 (permalink)  
Antiguo 04/11/2009, 08:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: ¿Que esta fallando?

Hola:

Sin ver como está el código (copy and paste) es difícil responder...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 04/11/2009, 10:56
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: ¿Que esta fallando?

El fallo estaba en el encabezamineto de la pagina:


Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
He quitado uno de los dos y ya esta funcionando perfectamente. Gracias pro 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 01:14.