2016-05-17 8 views
0

私が持っている私のページでforms複数と1つのボタンは、それらのすべてからデータを収集AJAX呼び出しを経由して、それを処理し、その結果を使用していくつかのものが表示されます。 (私は実際にそれらに提出する/何actionダイレクトを使用することはありませんが) は今、私は当初、例えばのためのビルトインvelidatorsを持ってformsを使用しましたinput type numberまたはrequired。私はformsを提出することはないので、明らかにこれはうまくいきません。フォームのこれらの検証ルーチンを手作業で呼び出す方法はありますか?その中のすべての要素が有効である場合は、フォーム要素のはボタン一つで複数のフォームを(予防デフォルト)を提出

+1

あなたが別のフォームを使用している理由はありますか? 1つの解決策(フォームの子としてすべてを移動することに加えて)は、フォーム上でトリガー( 'submit' ...)することです。 –

答えて

0

reportValidityメソッドはtrueを返します。あなたはポリフィル使用できるように、それは多くのブラウザでサポートされていません。

if(!HTMLFormElement.prototype.reportValidity){ 
    HTMLFormElement.prototype.reportValidity = function(){ 
     for(var i = 0;i < this.elements.length;i++){ 
      if(!this.elements[i].checkValidity()){ 
       return false; 
      } 
     } 
     return true; 
    }; 
} 
0

一つのフォーム検証例を

HTML:

<form id="myForm" name="myForm"> 
    <input type="submit" id="realSubmit" value="submit" style="display: none;" /> 

    <button type="button" id="customSubmit">Validate</button> 
</form> 

のjavascript:

$('#myForm').on('submit', function(e) { 
    e.preventDefault(); 

    return false; 
}); 

$('#customSubmit').click(function() { 
    // This will run html validations. 
    $('#realSubmit').click(); 
}); 

私はこれがあなたを助けてくれることを願っています。

関連する問題