2013-10-14 3 views
0

У меня проблема с этим запросом, когда я заполняю свой почтовый ящик правильной электронной почтой, которую он может проверить, а затем спросить меня правильно, и когда я меняю свой почтовый ящик, чтобы его очистить, он показывает мне правильный адрес электронной почты адрес. давайте проверить это http://www.icodecrew.com/registerМне нужна помощь по проверке формы js и 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"); 
        } 
       } 
      }); 

     }); 

    }); 
     } 
    } 
+1

порядок операций? вы присваиваете значение «email» после выполнения оператора 'if', когда вы должны назначить его как первое. – PlantTheIdea

+3

Почему существует '$ (document) .ready (function() {' inested in there? Document.ready должен обернуть любой код jQuery, доступ к элементам DOM, также исправить отступы в вашем вопросительном коде –

+1

Я попытался отформатируйте этот код для вас, но это было бы невозможно без угадывания отсутствующих битов. – Archer

ответ

0

Как отметил @PlantTheldea в комментариях к вашему вопросу, ваш порядок операций сильно нарушена. Прочитав ваш код, это самое близкое, что я могу прийти к тому, что, я считаю, вам нужно. Это UNTESTED и служит только, чтобы помочь вам определить порядок, в котором ваши шаги должны выполняться:

$(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'); 
         } 
        } 
       }); 
      } 
     } 
    }); 
}); 
Смежные вопросы