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