Foros del Web » Programando para Internet » Javascript »

Guardar valores en variables (formulario)

Estas en el tema de Guardar valores en variables (formulario) en el foro de Javascript en Foros del Web. Buenas, tengo un problema . Necesito guardar 3 valores de 3 select diferentes y sumarlos... ademas mostrar el resultado dentro de un <label> de antemano ...
  #1 (permalink)  
Antiguo 21/02/2012, 23:12
 
Fecha de Ingreso: enero-2012
Mensajes: 35
Antigüedad: 12 años, 4 meses
Puntos: 2
Pregunta Guardar valores en variables (formulario)

Buenas, tengo un problema . Necesito guardar 3 valores de 3 select diferentes y sumarlos... ademas mostrar el resultado dentro de un <label>

de antemano gracias , un saludo!
  #2 (permalink)  
Antiguo 22/02/2012, 07:34
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Guardar valores en variables (formulario)

http://librosweb.es/javascript/index.html
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 22/02/2012, 10:43
 
Fecha de Ingreso: enero-2012
Mensajes: 35
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: Guardar valores en variables (formulario)

Cita:
Iniciado por maycolalvarez Ver Mensaje
[url]http://librosweb.es/javascript/index.html[/url]
Ya que se muuuuuy poco de javascript y por lo que lei de lo que me enviaste, tendria que hacer algo asi:
Código Javascript:
Ver original
  1. function sumar(){
  2. var total;
  3. total=0;
  4. total= document.getElementsByName("total").value
  5. +parseInt("total2").value;

y en el select tiene que haber algo asi

Código HTML:
Ver original
  1. <select name="total"  onfocus="suma" >
  2.        
  3.         <option value= "3">3</option>
  4.         <option value= "10">10</option>
  5.         </select>


Mi pregunta es: es lo correcto? aun no me sirve, estoy por el buen camino? y ademas no se como mostrarlo en un label seria algo asi?
Código HTML:
Ver original
  1. document.write(total);</label>
  #4 (permalink)  
Antiguo 22/02/2012, 12:42
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Guardar valores en variables (formulario)

parseInt("total2").value

si en dicho caso si necesitas el valor del elemento "total2" necesitas también acceder a su instancia con document.getElementById("total2") porque la función parseInt espera una variable no una instancia de objeto.

para asignar a una capa un valor, puedes usar innerHTML:

document.getElementById('mi_label").innerHTML = total;

donde:
<label id="mi_label"></label>

Generalmente en el foro incentivamos al usuario a buscar su propia solución, si tienes un trozo de código, aunque no funcione postéalo, así es mejor ayudarte, en cambio si el user no aporta nada se interpreta como que quiere que le hagan el código, saludos.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 22/02/2012, 14:04
 
Fecha de Ingreso: enero-2012
Mensajes: 35
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: Guardar valores en variables (formulario)

Cita:
Iniciado por maycolalvarez Ver Mensaje
parseInt("total2").value

si en dicho caso si necesitas el valor del elemento "total2" necesitas también acceder a su instancia con document.getElementById("total2") porque la función parseInt espera una variable no una instancia de objeto.

para asignar a una capa un valor, puedes usar innerHTML:

document.getElementById('mi_label").innerHTML = total;

donde:
<label id="mi_label"></label>

Generalmente en el foro incentivamos al usuario a buscar su propia solución, si tienes un trozo de código, aunque no funcione postéalo, así es mejor ayudarte, en cambio si el user no aporta nada se interpreta como que quiere que le hagan el código, saludos.
Listo ya lo habia hecho, pero solo si sabia el numero de selects que se iban a mostrar, pero si necesito crear "n" Selects?

tengo este codigo y no se si esté por el camino correcto, pero no me funciona

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <?php $grupos= 5;?>
  6. <script language="JavaScript">
  7. function suma1(){
  8. var res = new Array();
  9. var f;
  10. var j;
  11. var=res2;
  12. res2=0;
  13. for(f=1;f<=<?php echo $grupos?>;f++){
  14. res[f] = document.getElementsByName("<?php $grupos?>")[0].value;
  15.           }
  16. for(j=1;j<=<?php echo $grupos?>;j++){
  17. res2=res2 + res[j];
  18. }    
  19. document.getElementById("SUMA").value=res2;
  20. document.getElementById("RESTA").value=res2 - 2;
  21. }
  22. </script>
  23. <?php $cap = array('1','2','3','4','5');?>
  24. <form name="form1">
  25. <?php for($i=1;$i <= $grupos; $i++){?>
  26.     <select name="<?php echo $grupos?>" type="comboBox" onchange="suma1();">
  27.             <?php for($j=1;$j<=$grupos; $j++){?>
  28.             <option value="<?php echo $j?>"<?php if($cap[0]==$j){?> selected="selected"<?php }?>><?php echo $j; ?></option>
  29.             <?php }?>
  30.     </select>
  31.  
  32.   <br><?php }?>
  33.  
  34.  
  35.  <input name="SUMA" type="text" id="SUMA" disabled="disabled" size="15" value="" readonly="readonly" />
  36.   <input name="RESTA" type="text" id="RESTA" disabled="disabled" size="15" value="" readonly="readonly" />
  37. </form>
  38. </body>
  39. </html>
  #6 (permalink)  
Antiguo 22/02/2012, 14:22
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Guardar valores en variables (formulario)

en el caso de JS debes de usar tu misma variable incremental f y j, porque haces esto:

res[f] = document.getElementsByName("<?php $grupos?>")[0].value; //siempre el 0

cuando debe ser:

res[f] = document.getElementsByName(<?php $grupos?>)[f].value;

¿no te parece más lógico así?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 22/02/2012, 15:50
 
Fecha de Ingreso: enero-2012
Mensajes: 35
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: Guardar valores en variables (formulario)

Cita:
Iniciado por maycolalvarez Ver Mensaje
en el caso de JS debes de usar tu misma variable incremental f y j, porque haces esto:

res[f] = document.getElementsByName("<?php $grupos?>")[0].value; //siempre el 0

cuando debe ser:

res[f] = document.getElementsByName(<?php $grupos?>)[f].value;

¿no te parece más lógico así?
Listo, pero no se aun no sirve, estoy algo dudoso si en res[f] me esta guardando lo que quiero realmente que es el valor de cada select seleccionado...
  #8 (permalink)  
Antiguo 23/02/2012, 09:06
 
Fecha de Ingreso: enero-2012
Mensajes: 35
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: Guardar valores en variables (formulario)

Listo ya resolvi...

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <?php $grupos= 5;?>
  4. <script language="JavaScript">
  5. function suma1(){
  6. var res = new Array();
  7. var f;
  8. var j;
  9. var res2 = 0;
  10.  
  11. for(f=1;f< <?php echo $grupos + 1; ?>;f++){
  12. var v;
  13. res[f] = document.getElementsByName(f)[0].value;
  14. }
  15.  
  16. for(j=1;j < <?php echo $grupos + 1;?>;j++){
  17. res2=res2 + parseInt(res[j]);
  18. }
  19.      
  20. document.getElementById("SUMA").value=res2;
  21. }
  22. </script>
  23. </head>
  24. <body>
  25.  
  26.  
  27. <form name="form1">
  28. <?php for($i=1;$i <= $grupos; $i++){?>
  29.     <select name="<?php echo $i?>" type="comboBox" onchange="suma1();">
  30.             <?php for($j=1;$j<=$grupos; $j++){?>
  31.             <option value="<?php echo $j?>"><?php echo $j; ?></option>
  32.             <?php }?>
  33.     </select>
  34.  
  35.   <br><?php }?>
  36.  
  37.  
  38.  <input name="SUMA" type="text" id="SUMA"  size="15" value="" />
  39.   <input name="RESTA" type="text" id="RESTA"  size="15" value="" readonly="readonly" />
  40. </form>
  41. </body>
  42. </html>

Etiquetas: variables
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 06:47.