AJAX: Form request - simpelt response
OS: Windows 7 prof.Som indgang til at anvende ajax har jeg arbejdet med funktionalitet, der kan overføre form-data til PHP efter post-metoden og returnere en PHP-variabel til brug som HTML-tekst.
Baseret på videoer fra Youtube har jeg opbygget nedenstående kodebidder:
<form action="ajaxformphp.php" method="post" class="ajax">
<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>
<div class="response">
<p id="resp"></p>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
$('form.ajax').on('submit', function()
{
var that = $(this), //this = aktuelt objekt (formen)
url = that.attr('action'),
type = that.attr('method'),
data = {};
that.find('[name]').each(function(index, value)) {
var that = $(this),
name = that.attr('name'),
value = that.val();
data[name] = value;
});
$.ajax({
url: url,
type: type,
data: data,
dataType: 'json',
success: function(response) {
$(#resp).html(response);
}
});
return false;
}); // submit slut
</script>
-----------
ajaxformphp.php:
<?php
if (isset($_POST['name'], $_POST['email'], $_POST['message']))
{
// Her skal indsættes kode til viderebehandling i PHP-regie
//echo 'Navn er ' . $_POST['name'];
$response = "Response";
}
?>
--------
Trods intensiv kontrol mod kildekoden og mange forskellige forsøg har jeg ikke kunnet få koden til at fungere.
Kan nogen hjælpe mig med at afdække, om det er konceptet eller mindre detaljer der hindrer programmerne i at fungere?
Hanibald