2015-06-22 35 views
3

我有兩個單選按鈕輸入,當它們中的一個被點擊時,它將被檢查並提醒用戶他或她是否要提交輸入。根據用戶的日誌歷史,可以預先檢查它們中的任何一個。如何通過它們的`change`事件保持以前的輸入狀態?

問題是這樣的:我想恢復當用戶點擊提示對話框中的取消按鈕時收音機輸入的檢查狀態。

如果事件change通過預更改狀態和更改後狀態,將很容易實現此操作,但似乎沒有。

有沒有什麼辦法在change事件中記錄以前的輸入狀態?

+0

可以包括'html',在問題'js'? – guest271314

+0

是的!我改變了我的問題 – June

+0

您可以代替聽'mouseup'。 –

回答

0

您可以存儲對無線電的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>

相關問題