0
我想弄清楚爲什麼這個表單總是返回「錯誤」,當JavaScript被激活,但它的作品就像應該停用JavaScript時。
它與echo "success"
和echo "error"
有關,但我真的不知道什麼是錯的。我試圖迴應1
或2
,true
或false
- 它從來沒有工作。爲什麼?Ajax形式:錯誤的價值發回
我的jQuery代碼:
$("form").submit(function() {
var name = $("input[name=name]"),
mail = $("input[name=email]"),
message = $("textarea[name=message]");
var data = "name=" + name.val() + "&mail=" + mail.val() + "&message=" + encodeURIComponent(message.val());
$.ajax({
url: "my_form.php",
type: "POST",
data: data,
success: function (data) {
if (data == "success") {
alert("Everyhting is good.");
} else {
alert("Error");
}
}
});
return false;
})
而且PHP的一部分:
$name = $_POST["name"];
$email = $_POST["email"];
$message = $_POST["message"];
function checkEmail($e) {
$isValid = true;
if (strlen($e) === 0) {
$isValid = false;
}
if (!preg_match("/^((?:(?:(?:\w[\.\-\+]?)*)\w)+)\@((?:(?:(?:\w[\.\-\+]?){0,62})\w)+)\.(\w{2,6})$/", $e)) {
$isValid = false;
}
if ($isValid == true) {
echo "success";
} else {
echo "error";
}
}
checkEmail($email);
也許它不喜歡你使用變量'data'兩次?一次爲了名字,值一對,一次爲成功。嘗試改變第一個數據變量被調用toSend或其他東西。 – 2013-02-15 16:49:21