<script type="text/javascript">
$(document).ready(function() {
jQuery(function($){
$("#form").submit(function(e){
if ($(this).valid()){
$.ajax( {
type: "POST",
url: "http://localhost/My/modules/validate.php",
});
}
return false;
})});
$("#form").validate({
rules: {
user: {
remote: {
url: "http://localhost/My/modules/validate.php",
async: false,
}
}
}
});
});
$.validator.setDefaults({
debug: true,
success: "valid",
});
</script>
リモート検証ルールを作成したいと考えています。この例では、ajax リクエストを正しく読み取ります。true/false を返しますが、両方とも検証エラーに評価されます。
ただし、ajax 部分 (jQuery()) を削除すると、ajax の初期化が行われず、リクエストは処理されません。
async: false はパッシブのようで、これを削除しても同じ結果になります。
ここで何が間違っているのか、誰でも少しでもわかるでしょうか?
編集:
$(document).ready(function() {
$("#form").validate({
rules: {
user: {
remote: "http://localhost/My/modules/validate.php",
}
},
submitHandler: function (form) {
// do your ajax form submission here
return false; // prevent redirect since you did ajax
}
});
});
</script>