2
在我的任何頁面上,例如this one,當點擊「有問題」按鈕左欄時,表單會通過jQuery Tools疊加顯示。你填寫表單,提交給PHP腳本(本地的),如果驗證並提交,你會得到一個感謝信或錯誤信息,這取決於服務器的響應。在FF,Safari和Opera中很好用,但不適用於IE或Chrome。 IE和Chrome只是去打印.ajax在腳本URL的空白頁面上查找的返回消息。我必須有一些不正確的,因爲即使我的跨域cURL ajax腳本工作,但不是這樣!下面是代碼jQuery .ajax提交在IE和Chrome中不起作用
$(document).click(function() {
$.validator.methods.equal = function(value, element, param) {
return value == param;
};
var validator = $("#request").bind("invalid-form.validate", function() {
$("#summary").html("Your form contains " + validator.numberOfInvalids() + " error(s), please fix.");
}).validate({
//debug: true,
errorElement: "em",
errorContainer: $("#summary"),
errorPlacement: function(error, element) {
error.appendTo(element.parent("li"));
},
success: function(label) {
label.text("ok!").addClass("success");
},
submitHandler: function(form) {
$("#processing").show();
var dataString = $(form).serialize();
$.ajax({
type: $("#request").attr('method'),
url: form.action,
data: dataString,
clearForm: true,
success: function(data) {
if (data=="SuccessMail Sent") {
$("#formWrap, #supportHdln").hide();
$("#thankYou").html('<h2><span>Thank You</span> We have received your request.</h2><p>A Customer Service Representative from NinjaTrader will contact you shortly.</p>').fadeIn("slow");
} else {
$("#formWrap, #supportHdln").hide();
$("#error").html('<h2><span>Uh Oh</span> We are unable to process your request.</h2><p>Please make sure all fields were filled out correctly. If you are still having trouble, please <a href=\"mailto:[email protected]?subject=Support Email\">email us</a></p>').fadeIn("slow");
}
}
});
return false;
},
rules: {
hs_customer_firstname: {
required: true,
minlength: 2
},
hs_customer_lastname: {
required: true,
minlength: 2
},
hs_customer_email: {
required: true,
email: true
},
confirmEmail: {
required: true,
email: true,
equalTo: "#hs_customer_email"
},
hs_customer_phone: {
required: false,
digits: true
},
hs_category: {
required: true
},
hs_customLargeTextField: {
required: true,
minlength: 20
},
math: {
required: true,
equal: <?php echo $randomNumTotal; ?>
}
},
messages: {
hs_customer_firstname: {
required: "Please Enter Your First Name",
minlength: "Your First Name Must be at Least 2 Characters"
},
hs_customer_lastname: {
required: "Please Enter Your Last Name",
minlength: "Your Last Name Must be at Leaset 2 Characters"
},
hs_customer_email: {
required: "Please enter your email address",
email: "Please enter a valid email address"
},
confirmEmail: {
required: "Please Confirm Your Email Address",
email: "Please Enter a Valid Email Address",
equalTo: "Please Enter the Same Email Address as Above"
},
hs_customer_phone: {
digits: "Numbers only"
},
hs_category: {
required: "Please Select a Category"
},
hs_customLargeTextField: {
required: "Please Leave a Comment",
minlength: "Your comment must be at least 20 characters"
},
math: {
required: "Please Solve the Problem",
equal: "Please Solve the Problem Correctly"
}
}
});
});
和這裏的運行它
<?php
if(empty($_POST['hs_customer_firstname']) || empty($_POST['hs_customer_lastname']) ||
empty($_POST['hs_customer_email']) || empty($_POST['hs_category']) ||
empty($_POST['hs_customLargeTextField']) || empty($_POST['math'])) {
echo ('Success');
}
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
$firstname = $_POST['hs_customer_firstname'] ;
//more like this
mail("[email protected]", "Support Request",
//$_POST fields
"From: $email");
if(mail($firstname, $lastname, $email, $category, $inquiry)) {
echo ('Mail Sent');
} else {
echo ('Error: Mail failed');
}
?>
您看看控制檯中的「網絡」選項卡以查看您的請求嗎? – methodin 2010-12-02 02:50:31