舉例阿賈克斯接觸形式:(最初的荷蘭語和它有點老編碼錯誤)
請記住,你需要的jQuery的這個例子。只是從他們的網站下載的jquery.js,它在你的HTML
form.html
<form id="frm_contact" name="contactformulier">
<label>Naam<span style="color:red">*</span></label><br/>
<input type="text" size="15" maxlength="50" name="naam" />
<br/><br/>
<label>Bedrijf</label><br/>
<input type="text" size="15" maxlength="50" name="bedrijf" />
<br/><br/>
<label>Email<span style="color:red">*</span></label><br/>
<input type="text" size="15" maxlength="50" name="tmail" />
<br/><br/>
<label>Bericht<span style="color:red">*</span></label><br/>
<textarea name="tekst">
</textarea>
<br/><br/>
(<span style="color:red">*</span>) Required fields!
<br/><br/>
<div id="subbutton">Send</div>
</form>
<div id="error-msg"></div>
形式添加到您的腳本。HTML(javascript代碼)
<script>
$(document).ready(function(){
var err="";
$("#subbut").click(function(){
$.post("PHP/ajax_contact.php", $("#frm_contact").serialize(),
function(data){
switch(data){
case '0':
err="<span><center>Thanks for contacting us!</center></span>";
$("#frm_contact").hide();
break;
case '1':
err="Invalid email!";
break;
case '2':
err="Fill in all fields please!";
break;
case '3':
err="Error sending this mail.";
break;
default:
err="<center>Mail server is offline.</center>"; //Or whatever error
$("#frm_contact").hide();
}
$("#error-msg").html("<br/>"+err+"<br/>");
});
});
});
</script>
PHP/ajax_contact.php
<?php
function check_email_address($email) {
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
return true;
}
return false;
}
$naam = trim($_POST['naam']);
$bedrijf = trim($_POST['bedrijf']);
$tmail = trim($_POST['tmail']);
$tekst = trim($_POST['tekst']);
if(isset($naam) && isset($tmail) && isset($tekst)){
if(!empty($naam) && !empty($tmail) && !empty($tekst)){
if(check_email_address($tmail)){
$to = '[email protected]';
$subject = 'Some subject';
$message = 'Name: '.$naam.' //// Company: '.$bedrijf.'
-------------------------------------------------------
'.$tekst.'
-------------------------------------------------------
Sended on: '.date("F j, Y, g:i a").' - from: www.somthing.com';
$headers = 'From: '. $tmail . "\r\n" .
'Reply-To: '. $tmail . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
echo '0'; //Succes <3
}else{
echo '1'; //Invalid mail adres
}
}else{
echo '2'; //Empty fields
}
}else{
echo '3'; //Fail post
}
?>
如果你使用jQuery,看看http://api.jquery.com/jQuery.get/一些有關AJAX請求和處理響應的更多信息。 –
你的方法非常好。定義PHP和JavaScript之間共享的錯誤代碼,並在客戶端呈現文本消息。簡單而有效。 – aefxx
我可以補充:你應該把你的答案包裝在一個JSON對象中,這將大大簡化進一步處理。 – aefxx