2016-10-20 17 views
-1

を使用してフォームを検証したい提出するが、私はAJAX POSTコールは、私が入力型のボタンがあり、ボタンを提出し、私は入力タイプを持っている私のMVC4アプリケーションではMVCのjqueryの

を、それは私のjqueryの中に自然、 e.preventDefault()だ防止と作っています私は進んで、さらにその後、この呼び出しの前に必要な値のために、フォーム全体を検証し、したい
('#submit').click(function(e){}) 

..

私はこの機能('#submit').click(function(e){});すなわちを使用しない場合は、これを行うことができています。単純な入力送信ボタンを使用すると、フォームがjqueryによって自動的に検証されます。

どのように同じ機能を使用できますか?この場合、送信ボタンでajaxコールを作成しています。 私はこれを使用しましたが、動作しません!!

$("#userform").validate(); 
$("#userform").valid() 
+0

'場合(。$( "#ユーザーフォーム")()有効な)他{AJAX呼び出しを行う} {返します。 } ' –

+0

これは常にtrueです@StephenMuecke –

+0

あなたのフォームは有効です! (またはフォームを正しく設定していない) –

答えて

2

あなたはjquery.unobtrusive持っているとjquery.validateはその後、ロードされたと仮定:

$("#registerUserForm").submit(function() { 
      if ($(this).valid()) { 
       $.OverWatch.worker.postUserData(this.action, $(this).serialize(), function (data) { 
       //callback 
       }) 
      } 

      return false; 
     }) 

    postUserData: function (url, data, callback) { 

     $.LoadingOverlay("show"); 
     $.ajax({ 
      url: url, 
      type: 'POST', 
      data: data, 
      success: function (data) { 

       if (callback) { 
        callback(data); 
        $.LoadingOverlay("hide"); 
       } 

      }, 
      error: function (event, jqxhr, settings, thrownError) { 
       $.LoadingOverlay("hide"); 
      } 
     }); 
関連する問題