2012-03-14 8 views
1

У меня есть для этого я вношу с помощью этой кнопки:JQuery Отправить не отправить форму

<button id="registerButton" type="submit" name="submit" style="margin-left: 300px;">Click to Complete</button> 

я делаю проверку с этим Jquery ошибка:

$('#registerButton').bind('click',function(){ 
    if($('#formElem').data('errors')){ 
      alert('Please correct the errors in the Form'); 
      return false; 
     } 
}); 

Когда я иду, подать форма будет отображаться с предупреждением, если в форме обнаружены ошибки. Однако, если ошибок нет, кнопка ничего не делает. Что я делаю не так?

ответ

2

Привязать валидацию к приложению отправки формы.

$("#formid").submit(function(e) { 
    if($(this).data('errors')){ 
     //display error 
     e.preventDefault(); //stop the submit 
    } else { 
     //do something or nothing 
     //but it will submit the form 
    } 

}); 
+0

Должно # form-element быть идентификатором кнопки отправки или идентификатором формы? –

+0

@ Принц, из формы :) – Starx

+0

К сожалению, это было многообещающе, однако оно не сработало, чтобы отправить форму. Есть ли инструмент, который я могу использовать, чтобы увидеть, где происходит ошибка, когда я нажимаю кнопку «Отправить», и ошибок нет? –

0

Похож, что вам нужно добавить else {return true;} к вашей функции.

+0

Если ошибка == true срабатывает, что бы сделало заявление 'else'? – Gary

+0

Я попытался добавить это, однако кнопка все еще ничего не делает. –

0

Просто для того, чтобы предоставить вам полный минимальный пример, который работает для меня, в firefox, internet explorer, chrome и opera. Надеюсь, это поможет.

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 
<script> 
    jQuery(document).ready(function(){ 

     $("#frm").submit(function(e){ 

      if($(this).data("errors")){ 
       alert("errors"); 
       return false; 
      } 
      return true; 
     }); 
    }); 
</script> 
</head> 
<body> 
    <form id="frm" action="#sent" data-errors="have errors"> 
     <input type="submit" /> 
    </form> 
</body> 
</html> 
Смежные вопросы