我有一個表格:更改與JavaScript不通過工作單選按鈕的顏色循環
<form id='form' name='form' action='#' method='get'>
<input type="RADIO" name="test" value="1">
Yes
<br>
<input type="RADIO" name="test" value="2">
No
</form>
與此Javascript:
var amount= document.form.test.length;
var radioButtons = document.form.test;
for (var i = 0; i < amount; i++) {
var btn = document.createElement("button");
var t = document.createTextNode("dsiable this button");
btn.appendChild(t);
btn.setAttribute.onclick = function() {
radioButtons[i].disabled = true;
};
document.form.test[i].parentNode.insertBefore(btn, document.form.test[i].nextSibling);
}
這將創建文本按鈕「禁用此按鈕「,但是當點擊它時,沒有任何反應,並且控制檯中沒有顯示錯誤。我究竟做錯了什麼?
如果我在setAttribute
部分添加了console.log('test')
,它不會顯示出來,因此部分代碼永遠不會運行 - 爲什麼會這樣?
我也試過btn.setAttribute("onClick", "disable(radioButtons[i])")
與功能
function disable(radioButtons) { //radioButtons.disabled = red; }
但這產生can't change null of undefined
錯誤,我不明白。
我在做什麼錯?更改html不是一個選項。
您正在嘗試更改無線電輸入的「顏色」?我不確定這可以改變; 「顏色」是什麼意思? – 2014-11-22 21:47:07
@DavidThomas我剛纔改變了我的真實場景到更簡單 - 可能應該檢查過。抱歉。我已將其更改爲「disabled」 – downloader 2014-11-22 22:07:22
因此,現在您想要創建一個按鈕,單擊該按鈕時應禁用特定的無線電輸入? – 2014-11-22 22:17:17