Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Envio formulario en ajax desde php

Estas en el tema de Envio formulario en ajax desde php en el foro de Frameworks JS en Foros del Web. Hola, muy buenas, Soy novato en el uso de AJAX, tengo una página en php, y me gustaría enviar el formulario con ajax, el formulario ...
  #1 (permalink)  
Antiguo 04/11/2010, 05:52
Avatar de estaisaderezados  
Fecha de Ingreso: noviembre-2010
Ubicación: Madrid
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 3
Envio formulario en ajax desde php

Hola, muy buenas,

Soy novato en el uso de AJAX, tengo una página en php, y me gustaría enviar el formulario con ajax, el formulario consta solamente de un desplegable con direcciones web, cuando se pulsa el input de tipo button, el evento onclick debería llamar a una función AJAX que envie el formulario. La peculiaridad es que necesito indicar el atributo action (su valor tiene que ser el atributo value del select) y target (valor del target es "contenido") del form dentro de la función AJAX y no sé como hacerlo, ah el método de envío quiero que sea POST. El atributo name del desplegable se llama "estados" el atributo id del desplegable también se llama "estados"

Muchisimas gracias, un saludo,
  #2 (permalink)  
Antiguo 04/11/2010, 14:50
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Envio formulario en ajax desde php

No entiendo a qué te refieres. Cuando uno envía un formulario con Ajax, ya no hay un target ni un action, solo utiliza el objeto xmlHttpRequest para hacer el envío y claro que se puede enviar por POST, en esta página se explica eso:

http://www.ajaxman.net/132/ajax-apre...l-metodo-post/

Suerte!

Última edición por ElJavista; 04/11/2010 a las 18:12
  #3 (permalink)  
Antiguo 04/11/2010, 17:35
Avatar de estaisaderezados  
Fecha de Ingreso: noviembre-2010
Ubicación: Madrid
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Envio formulario en ajax desde php

Gracias por tu ayuda, me he fijado en lo que me has enviado, pero no consigo lograr mi objetivo, para enviar el formulario tengo está función:

function irADireccion(form) {
var ajax=nuevoAjax();//con nuevoAjax() cargo objeto xmlHttpRequest para envío
var url=form.estados.options[form.estados.selectedIndex].value;
ajax.open("POST",url,true);
ajax.onreadystatechange=function(){
if(ajax.readyState==4)
{
var respuesta=ajax.responseText;
}
}
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("estados="+url);//estados es el nombre del atributo name e id del select
}

El valor de url, es por ejemplo: http:www.google.es, que lo obtengo de un select, pero no consigo que sé cargue, se que después de var respuesta=ajax.responseText; tengo que hacer algo para poder ver "ejemplo http:www.google.es", pero no sé el que, muchas gracias de todas maneras.
  #4 (permalink)  
Antiguo 04/11/2010, 18:16
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Envio formulario en ajax desde php

A ver, en primer lugar estas usando un código tremendo para tan poca cosa, me refiero a esta línea:

var url = form....
debería ser así:

var url = form.estados.value;

De la otra forma también sale pero es mucho código. Bueno, a parte de eso no veo nada raro, pero o sea, ese URL qué valores toma? y los archivos esos? cuáles son? ahi debería estar el problema. Por otra parte, talvez es obvio, pero ese código no haría absolutamente nada porque no hay ni squiera un alert.
  #5 (permalink)  
Antiguo 05/11/2010, 05:56
Avatar de estaisaderezados  
Fecha de Ingreso: noviembre-2010
Ubicación: Madrid
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Envio formulario en ajax desde php

Buenas,

Ya he cambiado correctamente la variable url, y sí, sé que ese código no hace nada, porque no sé que tengo que hacer para que cargue la url, la url toma los valores de un select, por ejemplo:

<select name="estados" id="estados">
<option value="http://www.google.es">Google</option><option value="http://www.elpais.es">El pais</option>
</select>
<input type="button" value="ir" onclick="irADireccion(this.form);" name="ir" id="inputSubmit" class="submit" />

Quiero que al pulsar en el button, se cargue la opción seleccionada del "select" por ejemplo "http://www.google.es" y visualizar google.

Esté código en javascript, si me funciona perfectamente y hace lo que quiero, pero digamos que quiero hacer lo mismo pero en ajax:

Esté código Javascript, quiero que me funcione pero en ajax

function irAURL(form) {
form.method = "post";
form.action=form.estados.options[form.estados.selectedIndex].value;
form.submit();

}

Gracias de nuevo,
  #6 (permalink)  
Antiguo 05/11/2010, 19:12
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Envio formulario en ajax desde php

A ver, tú quieres que cargue la URL, bien, pero donde carga? en un DIV? si quieres que simplemente se redirija lo que estás haciendo no sirve. Porque con ajax no se supone que deba hacer eso. Si le pasas una URL a ajax no se redirige, intenta cargar el URL y lo devuelve en ajax.responseText. Pero resulta amigo que tampoco hará eso porque no se puede acceder mediante el objeto xmlHttpRequest a una URL fuera del dominio donde se ejecuta dicho objeto.

Si quieres que se redirija pues de nada sirve el ajax, para eso no es. Si quieres que se cargue en un DIV tendrías que pasar esa URL como un parámetro y en PHP cargar mediante CURL esa web e imprimirlo, después de vuelta a JavaScript lo imprimes mediante innerHTML.

Etiquetas: ajax, envio, php, 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 17:45.