type serialize form jquery ajax form-submit

type - serialize form jquery ajax post



EnvĂ­o de formulario HTML con Jquery AJAX (3)

Estoy tratando de enviar un formulario HTML usando AJAX usando este ejemplo .

Mi código HTML:

<form id="formoid" action="studentFormInsert.php" title="" method="post"> <div> <label class="title">First Name</label> <input type="text" id="name" name="name" > </div> <div> <label class="title">Name</label> <input type="text" id="name2" name="name2" > </div> <div> <input type="submit" id="submitButton" name="submitButton" value="Submit"> </div> </form>

Mi guion

<script type="text/javascript"> $(document).ready(function() { $(''#formoid'').ajaxForm(function() { alert("Thank you for your comment!"); }); }); </script>

Esto no funciona, ni siquiera recibo el mensaje de alerta y cuando lo envío no quiero redirigirlo a otra página, solo quiero mostrar el mensaje de alerta.

¿Hay una forma simple de hacerlo?

PD: Tengo varios campos, acabo de poner dos como ejemplo.


Descripción rápida de AJAX

AJAX es simplemente Javascript o XML Asíncrono (en la mayoría de las situaciones más nuevas JSON). Debido a que estamos haciendo una tarea de ASYNC, es probable que proporcionemos a nuestros usuarios una experiencia de interfaz de usuario más agradable. En este caso específico, estamos haciendo una presentación de formulario usando AJAX.

Realmente rápidamente hay 4 acciones web generales GET , POST , PUT y DELETE ; estos se corresponden directamente con SELECT/Retreiving DATA , UPDATING/UPSERTING DATA , UPDATING/UPSERTING DATA , y DELETING DATA . Un formulario HTML / ASP.Net predeterminado / PHP / Python o cualquier otra acción de form es "enviar", que es una acción POST. Debido a esto, todos a continuación describirán cómo hacer un POST. A veces, sin embargo, con http, es posible que desee una acción diferente y probablemente desee utilizar .ajax .

Mi código específicamente para ti (descrito en los comentarios del código):

<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> </head> <body> <form id="formoid" action="studentFormInsert.php" title="" method="post"> <div> <label class="title">First Name</label> <input type="text" id="name" name="name" > </div> <div> <label class="title">Name</label> <input type="text" id="name2" name="name2" > </div> <div> <input type="submit" id="submitButton" name="submitButton" value="Submit"> </div> </form> <script type=''text/javascript''> /* attach a submit handler to the form */ $("#formoid").submit(function(event) { /* stop form from submitting normally */ event.preventDefault(); /* get the action attribute from the <form action=""> element */ var $form = $( this ), url = $form.attr( ''action'' ); /* Send the data using post with element id name and name2*/ var posting = $.post( url, { name: $(''#name'').val(), name2: $(''#name2'').val() } ); /* Alerts the results */ posting.done(function( data ) { alert(''success''); }); }); </script> </body> </html>

Documentación

De jQuery sitio web $.post documentación.

Ejemplo : enviar datos de formulario utilizando solicitudes ajax

$.post("test.php", $("#testform").serialize());

Ejemplo : publicar un formulario usando ajax y poner los resultados en un div

<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> </head> <body> <form action="/" id="searchForm"> <input type="text" name="s" placeholder="Search..." /> <input type="submit" value="Search" /> </form> <!-- the result of the search will be rendered inside this div --> <div id="result"></div> <script> /* attach a submit handler to the form */ $("#searchForm").submit(function(event) { /* stop form from submitting normally */ event.preventDefault(); /* get some values from elements on the page: */ var $form = $(this), term = $form.find(''input[name="s"]'').val(), url = $form.attr(''action''); /* Send the data using post */ var posting = $.post(url, { s: term }); /* Put the results in a div */ posting.done(function(data) { var content = $(data).find(''#content''); $("#result").empty().append(content); }); }); </script> </body> </html>

Nota IMPORTANTE

Sin utilizar OAuth o, como mínimo, HTTPS (TLS / SSL), no utilice este método para datos seguros (números de tarjeta de crédito, SSN, cualquier cosa que sea PCI, HIPAA o relacionada con el inicio de sesión).


Si agrega:

jquery.form.min.js

Simplemente puede hacer esto:

<script> $(''#myform'').ajaxForm(function(response) { alert(response); }); // this will register the AJAX for <form id="myform" action="some_url"> // and when you submit the form using <button type="submit"> or $(''myform'').submit(), then it will send your request and alert response </script>


var postData = "text"; $.ajax({ type: "post", url: "url", data: postData, contentType: "application/x-www-form-urlencoded", success: function(responseData, textStatus, jqXHR) { alert("data saved") }, error: function(jqXHR, textStatus, errorThrown) { console.log(errorThrown); } })