Foros del Web » Programando para Internet » Jquery »

serializar array de inputs

Estas en el tema de serializar array de inputs en el foro de Jquery en Foros del Web. hola que tal, Tengo el siguiente formulario y quiero serializarlo pero tengo problemas: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < form >     < ...
  #1 (permalink)  
Antiguo 15/07/2014, 23:55
Avatar de totti026  
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 10 años
Puntos: 4
Pregunta serializar array de inputs

hola que tal,
Tengo el siguiente formulario y quiero serializarlo pero tengo problemas:
Código HTML:
Ver original
  1.     <input type="text" name="nombre[]" id="nombres">
  2.     <input type="text" name="nombre[]" id="nombres">
  3.     <input type="text" name="nombre[]" id="nombres">
  4.     <input type="text" name="nombre[]" id="nombres">
  5.     <input type="submit">
  6. </form>

mi script es este:
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.  
  3.     $('form').submit(function(e) {
  4.         e.preventDefault();
  5.  
  6.         var data = $(this).serializeArray();
  7.  
  8.         $.ajax({
  9.             url: 'recibe.php',
  10.             type: 'post',
  11.             dataType: 'json',
  12.             data: data,
  13.             beforeSend: function() {
  14.                 $('.fa').css('display','inline');
  15.             }
  16.         })
  17.         .done(function() { // true
  18.             $('span').html("Correcto!");
  19.             //console.log("success");          
  20.         })
  21.         .fail(function() { // flase
  22.             $('span').html("Error!");
  23.         })
  24.         .always(function() {           
  25.             $('.fa').hide();           
  26.         });
  27.     })
  28. })

como puedo serializar el array de los inputs?
  #2 (permalink)  
Antiguo 16/07/2014, 00:45
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.512
Antigüedad: 9 años, 7 meses
Puntos: 957
Respuesta: serializar array de inputs

Podrías tomar y organizar los datos del array de cajas de texto de esta manera:

Código Javascript:
Ver original
  1. var data = [];
  2. $("form [type=text]").each(function(){
  3.     data.push($(this).val());
  4. });

Al momento de pasarlo al método Ajax, conviertes al array en un objeto JSON con el método JSON.stringify.

Código Javascript:
Ver original
  1. data: {
  2.     datos: JSON.stringify(data)
  3. }

En el archivo PHP, vuelves a convertir en array al objeto JSON con la función json_decode.

Código PHP:
Ver original
  1. $datos = json_decode($_POST['datos']);

Y ya teniendo el array con los valores, puedes hacer con ellos lo que desees.

Código PHP:
Ver original
  1. foreach ($datos as $valor){
  2.     echo $valor . '<br />'; //Imprimo cada valor del array
  3. }

Como recomendación, nunca asignes el mismo id a más de un elemento en el mismo documento, recuerda que debe de ser un valor único que distinga al elemento de los demás.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 16/07/2014 a las 01:04 Razón: Corrección

Etiquetas: inputs, serializar
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:07.