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

I need help on js and jquery form validation

本文关键字:表单 jquery 验证 帮助 js      更新时间:2023-09-26

当我用正确的电子邮件填充我的邮箱时,我对此查询有问题,它可以验证然后询问我正确的电子邮件,当我将我的邮箱更改为空时,它会显示正确的电子邮件地址。 让我们检查一下这个 http://www.icodecrew.com/register

             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");
                    }
                }
             });
        });
     }); 
        }
    }

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

$(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');
                        }
                    }
                });
            }
        }
    });
});