2016-10-16 4 views
0

В следующей форме, когда я попал в submit, он оповещает 111, но не отправляет запрос ajax. Вместо этого он отправляет запрос на отправку страницы. Зачем?jQuery - Форма не подтверждена

<form id="post_answer_form" method="POST" action="some_url"> 
    <fieldset> 
     <textarea id="qanswer" name="qanswer"></textarea> 
     <button type="submit">Post Your Answer </button> 
     <button type="submit" style="display: none;">Update </button> 
    </fieldset> 
</form> 

Я проверка его против некоторых правил следующим образом:

$(document).on('submit', '#post_answer_form', function(){ 
    alert(111) 
    tinymce.triggerSave(); 
}).validate({ 
    ignore: '', 
    rules: { 
     qanswer: { 
      required: true, 
     } 
    }, 
    submitHandler: function(form) { 
     alert(111) 
     $.ajax({ 
      ... 
     }); 
     return false 
    }, 
}); 
+0

Что такое 'tinymce.triggerSave(); ' ? вы пытаетесь инициировать сохранение чего-либо независимо от того, действительна ли форма или нет? –

+0

Ну, я использую библиотеку, которая должна быть сохранена перед проверкой. – PythonEnthusiast

ответ

0

Вашей проверка не работает, потому что вы не подаете проверки на форме. вы можете попробовать следующий код.

$(function(){ 
    $('#post_answer_form').submit(function(e) { 
     e.preventDefault();  
     tinymce.triggerSave(); 
     if($('#post_answer_form').valid()){ 
      // Submit form using ajax or using .submit() 
      $.ajax({ 
       ... 
      }); 
     } 
    }); 

    $('#post_answer_form').validate({ 
     ignore: '', 
     onsubmit : false, 
     rules: { 
      qanswer: { 
       required: true, 
      } 
     } 
    }); 
}); 
+0

@pythonEnthusiast Вы пробовали код? Код сам объясняет, но дайте мне знать, если вы этого не понимаете. Я объясню больше. –

+0

Есть еще один мой вопрос, связанный с проверкой JQuery. Можете ли вы, пожалуйста, посмотреть. http://stackoverflow.com/questions/40092806/jquery-validating-only-one-form-out-of-multiple-forms/40093045#40093045 – PythonEnthusiast