2009-10-01 13 views

回答

7

Web Bug Track:

onChange事件可以附着(inline或作爲事件處理程序),以任何形式的元件。只要表單域的值發生更改,它就會觸發。不幸的是,在IE中這種行爲有點奇怪,因爲對於複選框或單選按鈕字段,事件在應該發生時不會觸發(正確的是當您單擊要選擇的選項時),而是它只有當你點擊頁面/窗體上的其他地方,或者你明確地調用了blur()時纔會觸發。在場上。

和周圍建議的工作是:

<input type="radio" name="foo" value="Green" onclick="alert(this.value);"/>Green 
<input type="radio" name="foo" value="Blue" onclick="alert(this.value);"/>Blue 
1

問題與盧卡斯的解決方案是,如果你再次點擊相同的選項,這將觸發連。

我發現的解決方案是添加onclick =「this.blur();」到單選按鈕標籤,強制它只有在改變時才觸發onchange。

<input type="radio" name="foo" value="Green" onclick="alert(this.value);" onclick="this.onBlur();" />Green 
<input type="radio" name="foo" value="Red" onclick="alert(this.value);" onclick="this.onBlur();" />Red 

希望這會有所幫助。

相關問題