Foros del Web » Programando para Internet » Javascript »

Form dinamico con variables

Estas en el tema de Form dinamico con variables en el foro de Javascript en Foros del Web. Hola Compañeros, Llevo un dia entero probando de desarrollar un codigo javascript para hacer un formulario dinamico.. El objetivos es un option desplegable de tres ...
  #1 (permalink)  
Antiguo 21/02/2011, 09:22
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Form dinamico con variables

Hola Compañeros,

Llevo un dia entero probando de desarrollar un codigo javascript para hacer un formulario dinamico..

El objetivos es un option desplegable de tres opciones que cuando se haya escogido una de las tres opciones, el segundo option se active y a su vez al escoger la opcion del segundo option se vea un link o enlace.

Entonces el funcionamiento debe ser que el enlace debe llevar una variable o otra segun las opciones escogidas en los dos options anteriores.

Me explico:

Ejemplo: Si en el option 1 escogemos la opción uno este debe guardar la variable 1 y luego en el segundo option si escogemos la 3 la debe guardar tambien... obteniendo al final que el enlace resultante sea enlace.php?valor=4 (o sea el valor resultante de la suma de los dos valores.

Bueno en resumen..

Lo que he conseguido hasta ahora viendo otros posts es el hecho de que aparezcan los optins gradualmente segun se escoja el anterior... pero lo ideal es que simplemente se vean todos pero en disabled i solo sean seleccionables a medida que se escoja una opcion en su antedecesor.

Y ya el tema de conservar las variables del value del option eso no lo he conseguido por mas que lo he intentado porque en el primer option si pero cuando me dispongo en el segundo ya no conserva la variable del prmero para poder hacer la suma.

Bueno a lo mejor sera sencillo pero a mi se me esta haciendo un mundillo.

Ya me direis.

Gracias por avanzado.
  #2 (permalink)  
Antiguo 21/02/2011, 09:51
 
Fecha de Ingreso: febrero-2011
Ubicación: Evolandia
Mensajes: 103
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: Form dinamico con variables

Si entendi bien deberias tener una variable general defina para guardar los datos del valor que quieres enviar
var url = 0;
function asignarValor1 () {
url = parseInt(document.form.select1.options[document.form1.select1.selectedIndex].value);
...
}
function asignarValor2 () {
url += parseInt(document.form.select2.options[document.form1.select2.selectedIndex].value);
...
document.form.enlace.href = "enlace.php?valor=" + url;
}

<a href="" name="enlace"/>

Saludos!
  #3 (permalink)  
Antiguo 21/02/2011, 09:54
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Form dinamico con variables

Muy bueno voy a provar...

Era eso lo que me faltaba como obtener el valor de ambos options..

Ahora lo desarrollo y comento.

Un saludo.
  #4 (permalink)  
Antiguo 21/02/2011, 10:12
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Form dinamico con variables

Hola,

Bueno esta claro que me acerco pero no lo consigo del todo...

Dejo el codigo que he desarrollado siguiendo las indicaciones de Omar y haber si pudierai orientarme un poco mas..

Código HTML:
Ver original
  1. var url = 0;
  2. function asignarValor1 () {
  3. url = parseInt(document.form.select1.options[document.form1.select1.selectedIndex].value);
  4. }
  5. function asignarValor2 () {
  6. url += parseInt(document.form.select2.options[document.form1.select2.selectedIndex].value);
  7. document.form.enlace.href = "enlace.php?valor=" + url;
  8. }
  9.     </script>
  10. </head>
  11. <FORM method="post"  name="form1" action="calcular.php">
  12. <b>COCINA</b><br>
  13. <SELECT NAME="select1" onchange="asignarValor1 ()">
  14.    <OPTION VALUE="0">--Escoja--</OPTION>
  15.    <OPTION VALUE="1" >Pequeño 5-6,5 m2</OPTION>
  16.    <OPTION VALUE="2" >Medio 6,5-8 m2</OPTION>
  17.    <OPTION VALUE="3" >Grande 8-10 m2</OPTION>
  18. <br>
  19. <SELECT NAME="select2" onchange="asignarValor2 ()">
  20.    <OPTION VALUE="0">--Escoja--</OPTION>
  21.    <OPTION VALUE="1">Económico</OPTION>
  22.    <OPTION VALUE="2">Oferta</OPTION>
  23.    <OPTION VALUE="3">Luxe</OPTION>
  24. <br>
  25. <a href="" name="enlace"/>ver detalle calidad</a>
  26. </form>
  27. </body>
  28. </html>

Muchas gracias de nuevo.
  #5 (permalink)  
Antiguo 21/02/2011, 15:13
 
Fecha de Ingreso: febrero-2011
Ubicación: Evolandia
Mensajes: 103
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: Form dinamico con variables

Bueno corrigiendo algunas cosas, también es válido escribir

url = parseInt(document.form.select1.value);

en vez de

url = parseInt(document.form.select1.options[document.form1.select1.selectedIndex].value);

lo mismo para el otro
url += parseInt(document.form.select2.value);

luego en

document.form.enlace.href = "enlace.php?valor=" + url;

por

document.getElementById("enlace").href = "enlace.php?valor=" + url;

un enlace no se considera un elemento del formulario, espero q eso sea

y por último posiste el nombre del formulario name="form1" cuando deberia ser "form".

Suerte!
  #6 (permalink)  
Antiguo 21/02/2011, 19:22
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Form dinamico con variables

Buenas Omar,

He arreglado los puntos que me has comentado y no me termina de funcionar.

No se a lo mejor es debido a lo que me comentas que una url al no ser un elemento del form no funciona.

No se.

Ya mé dirás.

Un saludo.
__________________
Deja el mundo mejor que como lo encontraste... By B.P.
  #7 (permalink)  
Antiguo 22/02/2011, 10:17
 
Fecha de Ingreso: febrero-2011
Ubicación: Evolandia
Mensajes: 103
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: Form dinamico con variables

Bueno acá algunas correcciones:

Código HTML:
Ver original
  1. var valor1 = 0;
  2. function asignarValor1 () {
  3. valor1 = parseInt(document.form.select1.value);
  4. document.getElementById("enlace").href = "#";
  5. }
  6. function asignarValor2 () {
  7. var valor2 = parseInt(document.form.select2.value);
  8. document.getElementById("enlace").href = "enlace.php?valor=" + (valor1 + valor2);
  9. }
  10.     </script>
  11. </head>
  12. <FORM method="post"  name="form" action="calcular.php">
  13. <b>COCINA</b><br>
  14. <SELECT NAME="select1" onchange="asignarValor1 ()">
  15.    <OPTION VALUE="0">--Escoja--</OPTION>
  16.    <OPTION VALUE="1" >Pequeño 5-6,5 m2</OPTION>
  17.    <OPTION VALUE="2" >Medio 6,5-8 m2</OPTION>
  18.    <OPTION VALUE="3" >Grande 8-10 m2</OPTION>
  19. <br>
  20. <SELECT NAME="select2" onchange="asignarValor2 ()">
  21.    <OPTION VALUE="0">--Escoja--</OPTION>
  22.    <OPTION VALUE="1">Económico</OPTION>
  23.    <OPTION VALUE="2">Oferta</OPTION>
  24.    <OPTION VALUE="3">Luxe</OPTION>
  25. <br>
  26. <a href="#" name="enlace" id="enlace"/>ver detalle calidad</a>
  27. </form>
  28. </body>
  29. </html>

bueno agregando algo mas si vas a utilizar xhtml escribe todos los tags en minúsculas, si es solo html la verdad no importa.

Saludos!
  #8 (permalink)  
Antiguo 24/02/2011, 03:16
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Form dinamico con variables

Ohhh

Muy bien Omar.

Veo que fallaba sobretodo yo en la sintaxis.

Referente a el codigo que me muestras lo indicaba mal yo.

Ahora solo me queda emplear esta variable resultante para mostrar la info de cada producto asciado con esa id en un pop-up.

Te lo agradezco mucho.. con este ejemplo he aprendido por lo menos a gestionar elementos en javascript que no lo dominaba mucho.

Muchas gracias pot todo.
__________________
Deja el mundo mejor que como lo encontraste... By B.P.
  #9 (permalink)  
Antiguo 24/02/2011, 04:33
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Form dinamico con variables

Hola Omar,

Tendre que formularte una ultima consulta..

Ya que al aplicar un codigo para generar el pop-up... este no recoge bien la variable de la url que genera el primer script.

Te muestro el codigo:

Código HTML:
<html>
<head>
<script>
var valor1 = 0;function asignarValor1 () {valor1 = parseInt(document.form.select1.value);document.getElementById("enlace").href = "#";}function asignarValor2 () {var valor2 = parseInt(document.form.select2.value);document.getElementById("enlace").href = "enlace.php?valor=" + valor1 + "&valor1=" + valor2;}    </script>
<script language="JavaScript">
function Abrir_ventana (pagina) {
var opciones="toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, width=508, height=365, top=85, left=140";
window.open(pagina,"",opciones);
}
</script>
</head>
<body>
<FORM method="post"  name="form" action="calcular.php">
<b>COCINA</b>
<br>
<SELECT NAME="select1" onchange="asignarValor1 ()">
   <OPTION VALUE="0">--Escoja--</OPTION>
    <OPTION VALUE="1" >Pequeño 5-6,5 m2</OPTION>
    <OPTION VALUE="2" >Medio 6,5-8 m2</OPTION>
    <OPTION VALUE="3" >Grande 8-10 m2</OPTION>
 </SELECT>
<br>
<SELECT NAME="select2" onchange="asignarValor2 ()">
    <OPTION VALUE="0">--Escoja--</OPTION>
   <OPTION VALUE="1">Económico</OPTION>
    <OPTION VALUE="2">Oferta</OPTION>
    <OPTION VALUE="3">Luxe</OPTION>
 </SELECT>
<br>

<a href="javascript:Abrir_ventana('#')" id="enlace"/><font size="1" face="Verdana">Click aquí para abrir la ventana</font></a>

</form></body></html> 

Gracias de nuevo

Porque no se como hacer para que recoja la variable del script.
__________________
Deja el mundo mejor que como lo encontraste... By B.P.
  #10 (permalink)  
Antiguo 24/02/2011, 08:11
 
Fecha de Ingreso: febrero-2011
Ubicación: Evolandia
Mensajes: 103
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: Form dinamico con variables

Bueno en principio manten el enlace así

<a href="#" id="enlace"/>

una vez q selecciones la segunda opción es ahi donde tiene q cambiar el nuevo enlace, donde esta

document.getElementById("enlace").href = "enlace.php?valor=" + valor1 + "&valor1=" + valor2;

cambialo por:

document.getElementById("enlace").href = "javascript:Abrir_ventana('enlace.php?valor=" + valor1 + "&valor1=" + valor2 + "')";}

y el recojo de los valores de esa variable sería mediante un lenguaje de lado del servidor, bueno ese ya es otro tema.

Saludos!

Etiquetas: dinamico, variables, formulario
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 23:31.