Tengo la siguiente cuestión que todavia no pude resolver habiendo leido la doc de jQuery.
Basicamente necesito saber como se hace un submit de un formulario usando jQuery.
Tengo un formulario normal, con jquery le asigno el evento submit con los parametros que creo necesarios y que apunta a un archivo php que lo que hace es escribir en un archivo .xml
No entiendo bien como es el tema del parametro type y su relación con data, ya que vi ejemplos donde el type es POST, sin embargo en data le pasan los valores como si fuera un GET.
Les dejo el código
jQuery y form
Código :
<script language="javascript" type="text/javascript"> $(document).ready(function(){ $("form:first").submit( function (){ console.log("submit"); console.log("nombre"+this.a_nombre.value+"&mail"+this.a_mail.value); $.ajax({ type: "POST", url: "data.php", data: "a_nombre"+this.a_nombre.value+"&a_mail"+this.a_mail.value, success: function(msg){ alert( "Data Saved: " + msg ); }, error: function(msg){ alert("Error: " + msg); } }); }); }); </script> <form name="alta" id="alta"> <input type="text" name="a_nombre" id="a_nombre" /> <label for="a_nombre">nombre</label><br /> <input type="text" name="a_mail" id="a_mail" /> <label for="a_mail">mail</label><br /> <input type="submit" name="a_submit" id="a_submit" value="Agregar" /> </form>
Archivo PHP a donde deberia apuntar
Código :
<?php $file = "cuentas.xml"; $xml = simplexml_load_file($file); if(is_writable($file)){ $open = fopen($file, "r+"); $write = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; $write .= "<cuentas>\n"; foreach($xml as $item){ $write .= " <cuenta nombre=\"{$item["nombre"]}\" mail=\"{$item["mail"]}\" />\n"; } $write .= " <cuenta nombre=\"{$_POST["a_nombre"]}\" mail=\"{$_POST["a_mail"]}\" />\n"; $write .= "</cuentas>"; var_dump($write); if(fwrite($open, $write) === FALSE){ echo "No se puede escribir"; exit; } fclose($open); } ?>
Aclaro que en una de las pruebas que hice modificando los parametros, logre que apunte al archivo PHP, pero sin recibir los valores.
Todo funciona si no uso ajax.
Agradezco cualquier ayuda.
Saludos