Foros del Web » Programando para Internet » PHP »

Pasar Array php con Ajax

Estas en el tema de Pasar Array php con Ajax en el foro de PHP en Foros del Web. Hola, tengoun form con campos dinámicos, a los input les coloco el name "respuesta[]" para crear un array pero deseo guardar los datos usando AJAX, ...
  #1 (permalink)  
Antiguo 01/07/2014, 09:49
 
Fecha de Ingreso: abril-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Pregunta Pasar Array php con Ajax

Hola, tengoun form con campos dinámicos, a los input les coloco el name "respuesta[]" para crear un array pero deseo guardar los datos usando AJAX, este es el form:

Código HTML:
<form name="nueva_pregunta" action="" onsubmit="enviarDatosEmpleado(); return false">
        <div class="control-group">
        <label class="control-label">Pregunta</label>
        <div class="controls">
        <input value="" name="pregunta" type="text" required style="width:90%">
        </div>
        </div>

        <div class="control-group">
        <label class="control-label">Respuestas</label>
        <div class="controls">
        <fieldset id="fiel"> 
        <input type="button" value="Crear" onClick="crear(this)" /> 
        </fieldset> 
        </div>
        </div>
         
       <div class="form-actions">
       <button type="submit" class="btn btn-primary">Crear Pregunta</button>
           </div>
        </form> 
Este es el AJAX que uso:

Código HTML:
// JavaScript Document
 
// Función para recoger los datos de PHP según el navegador, se usa siempre.
function objetoAjax(){
	var xmlhttp=false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
 
	try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (E) {
		xmlhttp = false;
	}
}
 
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	  xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}
 
//Función para recoger los datos del formulario y enviarlos por post  
function enviarDatosEmpleado(){
 
  //div donde se mostrará lo resultados
  divResultado = document.getElementById('resultado');
  //recogemos los valores de los inputs
  nom=document.nueva_pregunta.pregunta.value;
  ape=document.nueva_pregunta.respuesta.value;
 
  //instanciamos el objetoAjax
  ajax=objetoAjax();
 
  //uso del medotod POST
  //archivo que realizará la operacion
  //registro.php
  ajax.open("POST", "registro.php",true);
  //cuando el objeto XMLHttpRequest cambia de estado, la función se inicia
  ajax.onreadystatechange=function() {
	  //la función responseText tiene todos los datos pedidos al servidor
  	if (ajax.readyState==4) {
  		//mostrar resultados en esta capa
		divResultado.innerHTML = ajax.responseText
  		//llamar a funcion para limpiar los inputs
		LimpiarCampos();
	}
 }
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	//enviando los valores a registro.php para que inserte los datos
	ajax.send("nombre="+nom+"&apellido="+ape)
}
 
//función para limpiar los campos
function LimpiarCampos(){
  document.nueva_pregunta.pregunta.value="";
  document.nueva_pregunta.respuesta.value="";
  document.nueva_pregunta.pregunta.focus();
}

Pero no sé como recoger los datos del ARRAY en AJAX para pasar esas variables a registro.php

Ayuda por Favor
  #2 (permalink)  
Antiguo 01/07/2014, 10:39
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Pasar Array php con Ajax

Pues si envias por POST...recoges por POST en registro.php

Te aconsejo en registro.php te asegures recibes algo:

Código PHP:
Ver original
  1. <?php
  2.  
  3. var_dump($_POST);
__________________
Salu2!
  #3 (permalink)  
Antiguo 01/07/2014, 10:44
 
Fecha de Ingreso: abril-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: Pasar Array php con Ajax

Gracias por tu respuesta,
creo que no me explique bien.

Yo envío por medio de un formulario html, una serie de campos dinámicos a un AJAX

Mi problema es:

que no sé cómo recibir esos campos dinámicos en AJAX
y después pasarle esos campos dinámicos de AJAX a un PHP de registro para guardarlos en mysql

los campos dinámicos son un ARRAY: respuesta[]

Necesito saber como recibo ese ARRAY en AJAX

Gracias
  #4 (permalink)  
Antiguo 01/07/2014, 11:01
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Pasar Array php con Ajax

Creo que esta pregunta es para el foro de javascript
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 01/07/2014, 20:13
Avatar de Atomycko  
Fecha de Ingreso: diciembre-2005
Ubicación: Zapopan Jal.
Mensajes: 92
Antigüedad: 18 años, 4 meses
Puntos: 12
Respuesta: Pasar Array php con Ajax

No se exactamente lo que quieres, pero por lo que puedo entender lo que quieres es crear automaticamente la cadena de parametros enviados por ajax, si es asi, podrias hacer algo asi:

Código:
  ...

 //div donde se mostrará lo resultados
  divResultado = document.getElementById('resultado');
  //recogemos los valores de los inputs
  var forma = document.forms['nueva_pregunta'],
        parametros = '',
        i = 0;
  for(; i < forma.length; i ++){
      parametros += (i > 0 ? '&' : '') + forma[i].name + '=' + encodeURIComponent(forma[i].value);
  }

  ...

         ajax.send(parametros);

  ...
Si es asi, te recomiendo que investigues sobre jQuery
__________________
PD: Los acentos fueron secuestrados.

Etiquetas: php+ajax
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 18:28.