Foros del Web » Programando para Internet » Jquery »

No consigo acceder a elementos formulario creado al vuelo.

Estas en el tema de No consigo acceder a elementos formulario creado al vuelo. en el foro de Jquery en Foros del Web. Hola, necesito crear elementos dentro de un formulario al vuelo y luego tener acceso a esos datos, el formulario se crea bien, pero luego cuando ...
  #1 (permalink)  
Antiguo 15/01/2013, 03:44
 
Fecha de Ingreso: febrero-2002
Ubicación: Sabadell
Mensajes: 253
Antigüedad: 22 años, 8 meses
Puntos: 5
Pregunta No consigo acceder a elementos formulario creado al vuelo.

Hola, necesito crear elementos dentro de un formulario al vuelo y luego tener acceso a esos datos, el formulario se crea bien, pero luego cuando intento acceder a esos datos para ver que valor tienen, me dice que el campo es undefined, os paso el código para que quede más claro:

creando el campo:

Código:
caja.append('<label>Tamaño:</label>
<select name="tamano_stand_'+a+'" id="tamano_stand_'+a+'">
<option value="">Selecciona un tamaño</option>
<?php foreach($qry_tamanos_stand as $row_tamanos_stand){?>
<option value="<?php echo $row_tamanos_stand['tamano_stand'];?>"><?php echo $row_tamanos_stand['tamano_stand'];?></option><?php }?>
</select><br>');
Y aquí cuando intento acceder al valor de dicho campo:

Código:
alert($('#tamano_stand_'+a).val());
Me devuelve siempre undefined :/ alguien sabe que es lo que está mal?

Muchísimas gracias por adelantado.
  #2 (permalink)  
Antiguo 15/01/2013, 09:51
 
Fecha de Ingreso: julio-2008
Mensajes: 91
Antigüedad: 16 años, 4 meses
Puntos: 6
Respuesta: No consigo acceder a elementos formulario creado al vuelo.

Yo creo que debe ser el ambito donde haz declarado la variable.

Debería funcionar así:

Código Javascript:
Ver original
  1. <script>
  2. //Inicia la variable 'a' antes que cualquier código
  3. var a = 0;
  4. //Incluso antes de $(document).ready...
  5. $(document).ready(function(){
  6.     ...
  7. });
  8. </script>
  #3 (permalink)  
Antiguo 16/01/2013, 02:31
 
Fecha de Ingreso: febrero-2002
Ubicación: Sabadell
Mensajes: 253
Antigüedad: 22 años, 8 meses
Puntos: 5
Respuesta: No consigo acceder a elementos formulario creado al vuelo.

Lo he probado pero ha seguido sin funcionar, estoy mirando y lo que pasa es que no le llega la variable a una función, pongo de nuevo el código más explicito para que quede algo más claro:

Código:
                    for (a = 1;a <= total;a++){
                        //Añadimos número de stand
                        caja.append('<label>Número Stand:</label><input type="text" name="num_stand_'+a+'" id="num_stand_'+a+'"><br>');
                        caja.dialog({
                            autoOpen: false,
                            title: 'Posición '+('00' + a).slice (-3),
                            modal: true,
                            width: '640',
                            buttons: {
                                'Guardar': function () {
                                    alert('#num_stand_'+a);
                                    alert($('#num_stand_'+a).val());
                                    if($('#tamano_stand_'+a).val() != '' && $('#num_stand_'+a).val() != ''){alert('Correcto');}else{alert('Incorrecto');}
                                    $(this).dialog('close');
                                }
                            }
                        });
                    }
En la function la variable a siempre vale más de lo que se ha dibujado y por eso jamas lo encuentra. Creo que aquí está mejor explicado y se ve más claro el fallo.

Etiquetas: javascript
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 22:40.