Javascript 我需要关于js和jquery表单验证的帮助

Javascript 我需要关于js和jquery表单验证的帮助,javascript,jquery,ajax,validation,Javascript,Jquery,Ajax,Validation,我有这个问题,当我填写正确的电子邮件,它可以验证我的邮箱,然后问我正确的电子邮件,当我改变我的邮箱为空时,它会显示我正确的电子邮件地址。让我们检查一下 if(电子邮件==”“){ $(“span.val_email”).html(“请输入正确的电子邮件ID”).addClass(“验证”); 验证_持有人=1; }否则{ 如果(!email_regex.test(email)){//如果电子邮件无效 $(“span.val_email”).html(“无效电子邮件!”).addClass('va

我有这个问题,当我填写正确的电子邮件,它可以验证我的邮箱,然后问我正确的电子邮件,当我改变我的邮箱为空时,它会显示我正确的电子邮件地址。让我们检查一下

if(电子邮件==”“){
$(“span.val_email”).html(“请输入正确的电子邮件ID”).addClass(“验证”);
验证_持有人=1;
}否则{
如果(!email_regex.test(email)){//如果电子邮件无效
$(“span.val_email”).html(“无效电子邮件!”).addClass('validate');
验证_持有人=1;
}否则{
$(“span.val_电子邮件”).html(“”);
$(文档).ready(函数(){
$(“#电子邮件”).change(函数(){
$(“span.val_email”).html(“请等待我们检查…”);
var email=$(“#email”).val();
$.ajax({
类型:“POST”,
url:“includes/checkemail.php”,
数据:“email=”+email,
成功:功能(数据){
如果(数据==0){
$(“span.val_电子邮件”).html(“”);
}
否则{
$(“span.val_email”).html(“电子邮件已注册”);
}
}
});
});
}); 
}
}

正如@plantheldea在对您的问题的评论中提到的,您的操作顺序被严重破坏。通读了您的代码后,这是最接近我认为您想要的。它未经测试,仅用于帮助您确定执行步骤的顺序:

$(函数(){
var email_input=$(“#email”);
电子邮件输入。更改(功能(){
var status_display=$('span.val_email'),
email=email_input.val();
如果(电子邮件==''){
状态显示
.html('请输入正确的电子邮件ID')
.addClass(“验证”);
验证_持有人=1;
}否则{
如果(!email_regex.test(email)){
状态显示
.html('无效电子邮件!')
.addClass(“验证”);
验证_持有人=1;
}否则{
状态显示
.html('请等待,直到我们检查…')
.removeClass(“验证”);
$.ajax({
键入:“POST”,
url:'includes/checkemail.php',
数据:{
电邮:电邮
},
成功:功能(数据){
如果(数据==0){
status_display.html(“”);
}否则{
status_display.html('电子邮件已注册');
}
}
});
}
}
});
});

操作顺序?在执行
if
语句之后,您应该首先分配
email
值。为什么会有
$(document).ready(function()){
嵌套在那里?document.ready应该封装任何和所有访问DOM元素的jquery代码,也请修复问题代码中的缩进。我试图为您格式化该代码,但如果不猜测缺少的位,这是不可能的。
$(document).ready
通常应位于代码的最开始处;它告诉jQuery等待文档准备好运行该代码,因此在页面已加载后使用它响应事件是没有意义的。
             if(email == "") {
        $("span.val_email").html("Please Enter Your Correct Email-ID.").addClass('validate');
        validation_holder = 1;
    } else { 
        if(!email_regex.test(email)){ // if invalid email
            $("span.val_email").html("Invalid Email!").addClass('validate');
            validation_holder = 1;
        } else {
  $("span.val_email").html("");

                 $(document).ready(function(){
        $("#email").change(function(){

             $("span.val_email").html("<img src='spinner.gif' /> Please wait until we check...");


        var email=$("#email").val();

          $.ajax({
                type:"POST",
                url:"includes/checkemail.php",
                data:"email="+email,
                    success:function(data){
                    if(data==0){
                        $("span.val_email").html("<img src='accept.png' title='available' />");
                    }
                    else{
                        $("span.val_email").html("<img src='error.png' /> E-Mail is Already registered");
                    }
                }
             });

        });

     }); 
        }
    }
$(function () {
    var email_input = $('#email');

    email_input.change(function () {
        var status_display = $('span.val_email'),
            email = email_input.val();

        if (email === '') {
            status_display
                .html('Please Enter Your Correct Email-ID.')
                .addClass('validate');

            validation_holder = 1;
        } else { 
            if (!email_regex.test(email)) {
                status_display
                    .html('Invalid Email!')
                    .addClass('validate');

                validation_holder = 1;
            } else {
                status_display
                    .html('<img src="spinner.gif" /> Please wait until we check...')
                    .removeClass('validate');

                $.ajax({
                    type: 'POST',
                    url: 'includes/checkemail.php',
                    data: {
                        email: email
                    },
                    success: function (data) {
                        if (data == 0){
                            status_display.html('<img src="accept.png" title="available" />');
                        } else {
                            status_display.html('<img src="error.png" /> E-Mail is Already registered');
                        }
                    }
                });
            }
        }
    });
});