我试图弄清楚为什么当 JavaScript 被激活时这个表单总是返回“错误”,但是当 JavaScript 被停用时它应该像它一样工作。
它与echo "success"
and有关系echo "error"
,但我真的无法找出问题所在。我试图回应1
or 2
, true
or false
- 它永远不会起作用。为什么?
我的 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 );