JavaScriptがアクティブ化されると、このフォームが常に「エラー」を返すのに、JavaScriptが非アクティブ化されると正常に機能する理由を理解しようとしています。
それはとと関係がecho "success"
ありecho "error"
ますが、私は本当に何が悪いのかを知ることができません。エコーしようとした1
か2
、true
または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 );