Comunidad de diseño web y desarrollo en internet online

Como proceso un formulario hecho en php cargado en un DIV html y ajax

Citar            
MensajeEscrito el 24 Oct 2012 11:59 am
Estimados amigos, realice un formulario en una archivo PHP, el cual independiente funciona al hacer click en el submit y proporciona una respuesta de registro.

Cargue esta archivo en un DIV html, mediante ajax, muestra el formulario y al hacer click en el submit, vuelve a mostrarel archivo inicial, NO LO PROCESA y obviamente no muestra el resultado del proceso. Como lo resulevo?

Muchas gracias, un gran saludo a todos.

Por huascarmm

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Oct 2012 12:24 pm
Explicacion mas detallada:
Codigo php que funciona independientemente

Código PHP :


<?php
if(isset($_Post["enviar"])){

...codigo de conexion a base de datos
Mysql_query("INSERT INTO tabla VALUES('".$_Post['"texto']."')")
echo "Registro realizado correctamente";
}
else{
?>
<form method="Post" action =""> 
< input type="text" name="texto"/>
<input type="submit" value="enviar">
</form>

Este formulario, lo carga AJax en un div, pero al hacer click en el submit, lo reacrga y responde con el mismo formulario, sin procesarlo.

Por huascarmm

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Oct 2012 02:46 pm
Te recarga el formulario porque no cumple con la condición del if...

Cambia:

Código PHP :

if(isset($_Post["enviar"])){

por:

Código PHP :

if(isset($_POST["enviar"])){


Y si no funciona hace un

Código PHP :

var_dump($_POST);

Para ver que te esta llegando.

Saludos!

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox
Citar            
MensajeEscrito el 24 Oct 2012 03:56 pm
El atributo action del tag <form> debe apuntar al script PHP que procesa el formulario.

En solitario te funciona bien porque como ese atributo está vacío, se apunta a sí mismo, pero si lo cargas con Ajax, entonces apunta a la página que contiene el formulario y eso no es lo que quieres.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 31 Oct 2012 08:20 pm
gracias por la respuestas, el problema es que si relleno el tag action, me envia a otra pagina y yo quiero que me recargue en la mismo div.

POr lo del isset, es para verificar si se ha presionado el submit,.


QUIERO QUE EL FORMULARIO SE PROCESE EN EL MISMO DIV, Y ME APAREZCA LA RESPUESTA EN EL MISMO DIV SIN RECARGAR TODA LA PAGINA.

Por huascarmm

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Oct 2012 08:21 pm
ha, y le puse el POST con mayusculas, pero nada parienchi...

Por huascarmm

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Oct 2012 09:03 pm
AJAX

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox
Citar            
MensajeEscrito el 01 Nov 2012 12:10 pm
huascarmm:
Pues no hagas que el navegador envie el formulario. Esto lo haces simplemente programando el evento onSubmit del <form>.

Código HTML :

<form method="Post" action ="" onSubmit="return MiFuncion();"> 
...


Y en JavaScript...

Código Javascript :

function MiFuncion() {
/*
Hacer la petición Ajax aquí
*/
return false; // esto es lo que evita que el formulario sea enviado por el navegador.
}

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

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