hola amigos. tengo una problema con jquery. buscando encontré una forma de enviar formularios sin que se recargue la pagina, pero no funciona del todo bien.
Por un lado tengo la base de datos con la tabla PRUEBA que tiene las filas id, nombre y apellido.
por otro lado tengo un archivo INSERTAR.PHP que se encarga de insertar datos en esta tabla de prueba
y por ultimo tengo un archivo INDEX.PHP que tiene el formulario que va a enviar los datos a INSERTAR.PHP mediante el metodo post.
la cosa es que cuando pongo un solo formulario no hay problema, funciona bien.
pero cuando pongo ese mismo formulario dentro de un while (porque necesito hacerlo), como el formulario aparece varias veces con todos los mismos id, el escript no sabe como diferenciarlos. entonces se insertan los registros pero redirecconando a la pagina INSERTAR.PHP, que es lo que no quiero que pase.
el formulario es este (recuerden que se repite xq esta dentro de un while, si esta solo funciona bien):
<form name="form1" method="post" action="insertar.php">
<input type="text" name="nombre" id="nombre">
<input type="text" name="apellido" id="apellido">
<input type="submit" name="enviar" id="enviar" value="enviar">
</form>
y el escript es este:
<script type="text/javascript">
var x;
x=$(document);
x.ready(inicio);
function inicio()
{
var x;
x=$("#enviar");
x.click(enviar);
}
function enviar()
{
var n=$("#nombre").attr("value");
var a=$("#apellido").attr("value");
$.ajax({
async:true,
type: "POST",
dataType: "html",
contentType: "application/x-www-form-urlencoded",
url:"/insertar.php",
data:{nombre:n,apellido:a}
});
return false;
}
</script>
Creo que la solucion está en enviarle algún atributo a las funciones, para que se diferencie un formulario de otro cunado se repiten, pero no se cómo hacerlo.
Agradezco muchisimo a quien me pueda ayudar.