Comunidad de diseño web y desarrollo en internet online

Idea para generar inputs en función a un valor dado

Citar            
MensajeEscrito el 21 Ene 2011 04:41 pm
Hola buenas!

Estoy pensando cómo hacer lo siguiente (Utilizando Jquery):

Quiero indicar un valor (desde un input o desde un select, no me importa) y que en función a ese valor, se generen inputs. Por ejemplo, supongamos que tengo un input en el formulario e introduzco un 3. Quiero que en cuanto se quite el foco de él (mediante .blur()), se generen 3 inputs ya que así lo especifiqué. Dándome la opción de introducir tantos valores nuevos como indiqué.
Eso, creo que en cuanto me ponga sabré hacerlo, pero el problema lo veo en saber cómo identificar a esos inputs que se generaron. No sé qué ID otorgarles y cómo capturar sus valores para que el archivo php que se ejecute cuando se envie el formulario sepa procesarlos.

A ver si a alguien se le ocurre cómo lo podría hacer :-\.

Muchas gracias!!

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 21 Ene 2011 08:22 pm
Puedes en ese caso asignar una clase CSS a los que vayas generando para luego capturarlos usando filter() o algo así. Para el envio al servidor sólo deberás establecer el atributo name de todos los campos a algo como "valores[]" usando los corchetes al final para que así PHP los pueda procesar como un arreglo $_POST['valores'][n].

Un saludo.

Por jseros

Claber

116 de clabLevel

1 tutorial

Genero:Masculino  

Bogotá, Colombia

chrome
Citar            
MensajeEscrito el 21 Ene 2011 09:15 pm
Buenas! Muchas gracias por contestar ;).

Al final lo hice de la siguiente manera:

Código :

$(document).ready(function(){
   $('#numero_dirs').blur(generarInputs);
});

function generarInputs(){
   var num = $(this).val();

   for(var i=1; i<=num;i++){
      $('#mi_form').append("<tr><th scope='row'>Director "+i+"</th><td><input id='dir"+i+"' name='dir"+i+"' type='text'/></input></td></tr>");
   }
}


Así, me genera tantos inputs como el yo indique en el select en cuanto quite el foco de dicho select. A cada uno de los nuevos inputs, les asigno un id compuesto por: "dir"+$i, así se generan mediante el bucle.

Para capturar los datos desde el archivo php, tan simple como:

Código :

$numero_inputs = $_POST['numero_directores'];
$array_resultados = array();

for($i=1;$i<=$numero_inputs;$i++){
   $array_resultados[$i] = $_POST['dir'.$i.''];
}


Ahora estoy trabajando en que cada campo generado, sea un campo con Autocompletado, mediante Ajax. Auque no sé si me conviente.

Venga, nos vemos. Suerte!!

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.