2016-12-29 9 views
0

私は以下のコードを使用して特定のフォームのすべての値をリセットしています。jQueryを使用してフォームをクリア

 $('#' + frm).closest('form').find("input[type=text], textarea").val(""); 
     $('#' + frm).closest('form').find("input[type=password]").val(""); 
     $('#' + frm).find('input[type=checkbox]:checked').removeAttr('checked'); 
     $('#' + frm + ' input[type="radio"]').prop('checked', false); 

これは、例の95%のために正常に動作しますが、リセットするには、このプロセス全体を行うには良いか、より効率的があれば、私は0の選択されたインデックスに戻って[選択]ボックスのすべてをリセットしたいと思いますすべての要素タイプ私は最高の提案に開放されています。雇用履歴を追加するために同じ人が何度も同じフォームを繰り返し使用するため、フォームをリセットする必要があります。入力用

おかげであなたはあなた自身のリセットフォームメソッドを実装することができます

+6

'document.querySelector( "フォーム")。')(リセット? – epascarello

答えて

1

あなたはForm reset() Method

使用できるreset()メソッドは、(リセットボタンをクリックするのと同じ )をフォーム内のすべての要素の値をリセットします。

$('#' + frm).closest('form')[0].reset(); 
+0

選択値を0に戻すために選択した値を作成するときには、特別なことがありますか?リセットコードは他のすべてのものには効果がありますが、選択した値には効果がありません – user1314159

+0

度を選択するしかし、それは決してデフォルト値またはインデックスにリセットされません。 – user1314159

+0

このスレッドを見てくださいhttp://stackoverflow.com/questions/16913094/reset-select-value-to-デフォルトの –

1

jQuery.fn.reset = function(fn) { 
    return fn ? this.bind("reset", fn) : this.trigger("reset"); 
}; 

をこれは、あなたがリセット機能にコードを添付できるようになる:

jQuery("#form").reset(function(){ 
    /* some other code */ 
}); 

することはでき(それでもこれを行うにはこれが推奨されます)、タイプリセットの単純なHTML入力を使用します.JavaScriptを無効にしているブラウザでも同じことが行われます。

関連する問題