jQuery验证AJAX电子邮件的可用性检查

更新
我正在使用jQuery validate插件和远程方法来检查ajax的电子邮件可用性,但我不明白为什么ajax只调用一次.当输入电子邮件时,ajax进行调用并在控制台中打印输入的电子邮件,但如果我删除它并写入另一封电子邮件则没有任何反应.

HTML

<input type="text" name="on0" value="Your e-mail" class="form-field no-mr check-email">

jQuery的

jQuery.validator.addMethod('defaultInvalid',function(value,element) {
    return !(element.value == element.defaultValue);
},'Custom Error Message for this field');

$('.checkout-form').validate({
    rules: {
        on0 : 'required defaultInvalid email'
    }
});

$('.check-email').rules("add",{
    "remote" : {
        url: 'c/',type: "post",dataType: 'html',data: {
            check: function() {
                return $('.check-email').val();
            }
        },success: function(data){
            console.log(data);
        },error: function(data){
            console.log(data);
        }
    }
});

PHP在哪里发布ajax

<?PHP 

echo $_POST['check'];

 ?>

解决方法

ajax只触发一次的原因是你已经覆盖了jQuery validate的远程方法的成功回调.保持简单,尝试这样的事情:
<input name="email_address"/>

用脚本

<script>
$(function () {
    $('form').validate({
        rules: {
            email_address: {
                required:true,remote: {
                    url: "your_script.PHP"
                }
            }
        },debug: true,submitHandler: function () { alert('ok'); }
    });


});
</script>

PHP一样

<?PHP 

echo $_GET['email_address'] == "bob";

 ?>

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...