2つのラジオボタン入力があり、そのうちの1つをクリックすると、チェックされ、ユーザーが入力を送信するかどうかをユーザーに警告します。ユーザーのログ履歴に応じて、それらのいずれかを事前にチェックできます。
問題はこれです:ユーザーがアラートダイアログのキャンセルボタンをクリックしたときに、無線入力のチェックされたステータスを元に戻したいです。
イベントchange
が変更前のステータスと変更後のステータスを通過する場合、これを実装するのは簡単ですが、そうではないようです。
change
それらのイベント内で入力の以前のステータスを記録する方法はありますか?
RadioNodeList
の無線機への参照を保存でき、現在の値も保存できます。
ときにchange
イベントリスナーが起動され、あなたが格納された値を更新し、またはとして古い値を割り当てることにより、変更を元に戻すことができますvalue
プロパティ。
これは、すべての無線の値が異なる場合に機能します。
var form = document.forms[0],
els = form.elements.myradio,
val = els.value;
form.addEventListener('change', function(e) {
if(confirm('Do you want to change?'))
val = els.value; // Update the value
else
els.value = val; // Undo (assign the old value)
});
<form>
<label><input type="radio" name="myradio" value="1" checked />1</label>
<label><input type="radio" name="myradio" value="2" />2</label>
<label><input type="radio" name="myradio" value="3" />3</label>
</form>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加