次のコードを使用してフォームフィールドをリセットしています。
document.getElementById("form1").reset();//form1 is the form id.
動作していません。 JQuery
も試してみました。 JQueryでさえも機能しません。
$("#reset").click(function(){
$('form1')[0].reset();
});
私のhtmlコードは
<form name="form1" id="form1" method="post">
<h3>Personal Information</h3>
<h4>Name</h4>
<input type="text" id="fname" name="fname" maxlength=50 size=11/>
<input type="text" id="mname" name="mname" maxlength=15 size=8/>
<input type="text" id="lname" name="lname" maxlength=50 size=11/>
<input type="button" id="reset" value="Reset" onclick="Reset()"/>
</form>
問題は、ボタンIDを"reset"
に設定することです。そのため、フォームのリセットメソッドはbutton要素によって上書きされました。ボタンに別のIDを使用するだけです。
<form name="form1" id="form1" method="post">
<h3>Personal Information</h3>
<h4>Name</h4>
<input type="text" id="fname" name="fname" maxlength="50" size="11" />
<input type="text" id="mname" name="mname" maxlength="15" size="8" />
<input type="text" id="lname" name="lname" maxlength="50" size="11" />
<input type="button" id="resetBtn" value="Reset" />
</form>
また、インラインイベントハンドラーは避けてください。実際のスクリプト内でイベントをバインドします。
これを参照 フィドル 。
私はついに問題を解決しました。問題は"id=reset"
です。 reset
メソッドをオーバーライドするためです。 id="reset1"
に変更しました。今それは働いています
単にこれを試してみましたか: リセット
<input type="reset" value="Reset"/>
タグ名がform1の要素のように$( 'form1')を選択しているように見えますが、実際にはIDで選択したいと思います。
$('#form1')[0].reset();
JQueryの場合、正しいセレクターは次のとおりです。
$('#form1') // Select with ID
OR
$('form[name=form1]') // Select with name
フォームをリセットすることだけが目的の場合は、次のことを試すことができます。
<input type="reset" id="reset" value="Reset" onclick="this.form.reset();"/>
フィドル を更新しました。
Vanilla jsが機能しない理由:
あなたは持っていません...
document.getElementById("form1").reset();//form1 is the form id.
...リセット機能内。あなたはこれを行うことができます:
function Reset() {
document.getElementById("form1").reset();//form1 is the form id.
}
JQueryが機能しない理由:
あなたがしていることすべてをする必要はありません。それよりもはるかに簡単です。また、「form1」セレクターも確認してください。代わりに「#form1」を追加する必要があります。 jQueryの選択はgetElementByID関数とは異なります。名前から推測できるように、getElementByID関数はすでにIDで要素を取得しています。ただし、jQueryではそれらを指定する必要があります。また、jqueryではonClick属性は実際には必要ありません。
わかりました。新しいjsfiddleを参照してください。 http://jsfiddle.net/ty9rU/17/ ボタンの名前をreset_btn
に変更しました。
基本的に、フォーム内にresetという要素があり、それが問題の原因でした。