2015-06-09 2 views
0

Я использую JQuery для проверки формы контакта, но она не отправляется, когда я нажимаю кнопку отправки. Вот код:Ошибки в JQuery Подтвержденная форма обратной связи

<script> 
$(document).ready(function() 
{ 
    var nameok = 0; 
    var telephoneok = 0; 
    var emailok = 0; 
    var messageok = 0; 
    var validok = 1; 
    // Name Validation 
    $('#name').blur(function() 
    { 
     var name=$("#name").val(); 
     if(name.length < 1){ 
      nameok = 0; 
     } 
     else { 
      nameok = 1; 
     } 
    }); 
    // Telephone Validation 
    $('#telephone').blur(function() 
    { 
     var telephone=$("#telephone").val(); 
     if(telephone.length < 1){ 
      telephoneok = 0; 
     } 
     else { 
     telephoneok = 1; 
     } 
    }); 
    // E-Mail Validation 
    $('#email').blur(function() 
    { 
     var email=$("#email").val(); 
     if(email.length < 1){ 
      emailok = 0; 
     } 
     else { 
     emailok = 1; 
     } 
    }); 
    // Message Validation 
    $('#message').blur(function() 
    { 
     var message=$("#message").val(); 
     if(message.length < 1){ 
      messageok = 0; 
     } 
     else { 
      messageok = 1; 
     } 
    }); 
    // Valid Validation 
    $('#valid').blur(function() 
    { 
     var valid=$("#valid").val(); 
     if(valid.length > 0){ 
      validok = 0; 
     } 
     else { 
      validok = 1; 
     } 
    }); 
    // Contact Validation 
    if(telephoneok == 1 || emailok == 1){ 
     contactok = 1; 
    } 
    else{ 
     contactok = 0; 
    } 
    // Submit button action 
    $('#submit').click(function() 
    { 
     if(nameok == 1 && contactok == 1 && messageok == 1 && validok == 1) 
     { 
      $('#submit').hide(); 
      $('#form').submit(); 
     } 
     else 
     { 
      $('#submit').show(); 
     } 
     return false; 
    }); 
    //End 
}); 
</script> 

Моя форма открывается:

<form id="form" action="mail.php" method="POST"> 

Я думаю, что ошибка может быть с разделом Contact Validation, но я не уверен. Любые советы о том, как это сделать?

+0

Сообщение отношение HTML тоже .. –

+0

мы можем проверить ошибку в консоль, нажав f12, любезно упомяните, какую ошибку вы получаете –

+0

@papsk - Это то, что я не получаю ошибку! Кнопка «Отправить» скрывается, но форма просто не отправляется на mail.php. Кроме того, для скрытия кнопки не нужно заполнять электронную почту/телефон, тогда как это нужно делать. –

ответ

0

Ваша проблема return false. Он выполняется, проходит ли ваша проверка или не выполняется. Это не позволяет продолжить форму. Переместить его в конечном остальное случае вместо, который будет говорить только форму, что это не ОК, чтобы продолжить, когда один из ваших валидаторов не удалось .:

{ 
    $('#submit').show(); 
    return false; 
} 
+0

Хорошо, что решает проблему отправки, но проблема заключается в том, что она отправляет форму, даже если нет номера телефона или электронной почты. Мне нужно, чтобы он узнал, есть ли кто-то другой, перед отправкой –

+1

. Вы проверяете контактный адрес перед тем, как пользователь нажимает submit. Вы хотите сделать это после того, как пользователь нажмет submit. Поэтому переместите случай «Проверка контакта» в прослушиватель сообщения перед тем, как вы проверите, хотите ли nameok == 1 и т. Д. –

+1

О, я забыл изменить вопрос! Да, я понял, что это проблема, и исправил ее - Cheers Noel –

Смежные вопросы