次のコード スニペットは、フォームが正しく入力されているにもかかわらず、「失敗」アラート ボックスを返します。「合格」アラート ボックスを表示したいと思います。確かに何かが間違っているのですが、どこにあるのかわかりません...
完全なコードはこちら: http://alessandrosantese.com/Forms/Custom_Validation/Form-Validation-Plugin-AJAX.html
submit.click(function(evt) {
evt.preventDefault();
validate_form();
$('form input:not(.submit, .email, .test)').each(function(){
if ($(this).val() == '') {
add_color($(this), red);
}
else {
add_color($(this), white);
}
});
var data = form.serialize();
// AJAX call
$.ajax({
url: 'process.php',
type: "post",
data: data,
success: function(r){
if (r.success) {
alert('passed');
} else {
alert('failed');
}
}
});
});
PHP コード (非常に基本的なもので、今のところ AJAX を成功させるためだけのものです)
<?php
$name = $_POST['f_name'];
$l_name = $_POST['l_name'];
$email1 = $_POST['email'];
$email2 = $_POST['email_c'];
$tel = $_POST['tel'];
$postcode = $_POST['postcode'];
$url = $_POST['url'];
$checkbox = $_POST['checkbox'];
echo "\n$name\n$l_name\n$email1\n$email2\n$tel\n$postcode\n$url\n$checkbox";
?>
validate_form(); であることを確認する方法を見つける必要があります。AJAX呼び出し自体の前に機能しました。