|
<form id="target" method="POST" action="ajaxformphp.php"> <div><input type="text" name="name" placeholder="dit navn"></div> <div><input type="text" name="email" placeholder="din email"></div> <div><textarea name="message" placeholder="din meddelelse"></textarea></div> <input type="submit" value="Send"> </form> |
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script type="text/javascript"> // http://api.jquery.com/jquery.ajax/ // http://api.jquery.com/serialize/ // http://api.jquery.com/submit/ // http://api.jquery.com/jquery.getjson/ $(document).ready(function () { // $("#target").on('submit', function (event) { // Når flere forms på HTML-siden $("form").on('submit', function (event) { // Når kun en enkelt form på HTML-siden. var this_form = $(this); var type = this_form.attr('method'); var url = this_form.attr('action'); // var url = "ajaxformphp.php"; // var params = ($(this).serialize()); var params = this_form.serialize(); $.ajax({ // type: "POST", // type: "GET" type: type, url: url, dataType: "json", data: params }) ----- Her indsættes kode til håndtering af response ----- event.preventDefault(); }); // submit slut }); </script> |
PHP programmet, der er placeret i en fil for sig selv, modtager POST (eller GET)-data på normal
<?php
if (isset ($_POST['submit'])) //start POST { $name = htmlentities(trim ($_POST['name']),ENT_QUOTES, "utf-8"); $email = htmlentities(trim ($_POST['email']),ENT_QUOTES, "utf-8"); $message = htmlentities(trim ($_POST['message']),ENT_QUOTES, "utf-8"); Her indsættes den kode, der er nødvendig for at php-programmet kan udføre sin opgave. $ar = array("error"=>0, "navn"=>$name, "mail"=>$email, "msg"=>$message); // opsamler data til overførsel til js-programmet. } else { $ar = array("error"=>1, "msg"=>"mangler parameter"); // opsamler data til overførsel til js-programmet. } ----- Her kan indsættes kode til overførsel af array med response-data. ----- ?> |
Overfor javaScript programmet identificeres formen alene ved en 'id'-selektor. De øvrige nødvendige form-attributter (method og action) tilføres i javaScriptet som 'url' og 'type'.
<form id="target"> <div><input type="text" name="name" placeholder="dit navn"></div> <div><input type="text" name="email" placeholder="din email"></div> <div><textarea name="message" placeholder="din meddelelse"></textarea></div> <input type="submit" value="Send"> </form> |
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script type="text/javascript"> // http://api.jquery.com/jquery.ajax/ // http://api.jquery.com/serialize/ // http://api.jquery.com/submit/ $(document).ready(function () { // alle forms, vil jeg nok ikke bruge $("form").on('submit', function (event) { // $("#target").on('submit', function (event) { var params = ($(this).serialize()); var url = "ajaxformphp.php"; $.ajax({ type: "POST", // type: "GET" url: url, data: params }) ----- Her indsættes kode til håndtering af response ----- event.preventDefault(); }); // submit slut }); </script> |
Som ved 'Normal + id' ovenfor |