JavaScript函数没有禁用按钮

时间:2014-11-28 05:04:46

标签: javascript

html代码:( td因为它在表格中)

<td><button onclick=setSquare("ul")id="bul">upper left</button></td>

javascript代码:

function Gid(id) {
    return document.getElementById(id);
}
function setSquare(w) {
    Gid("b"+w).disabled=true;
}

我试图通过所有按钮共享的熟悉语法来禁用按钮(&#34; bul&#34;,&#34; bum&#34;,&#34; bur&# 34;等等)因此它将自动拥有&#34; b&#34;,然后添加w,这是作为参数传递的内容。

2 个答案:

答案 0 :(得分:0)

改变这个:

<td><button onclick=setSquare("ul")id="bul">upper left</button></td>

到此:

<td><button onclick='setSquare("ul")' id="bul">upper left</button></td>

OR

<td><button onclick="setSquare('ul')" id="bul">upper left</button></td>

答案 1 :(得分:0)

这是编写JS的一种不好的方法。内联JS不受W3C鼓励,你至少可以做的是:

<input type="button" value="foo" id="bul"/>
<input type="button" value="bar" id="bum"/>
<input type="button" value="baz" id="bur"/>

var p = document.querySelectorAll("input[type='button'][id^='b']");
[].forEach.call(p, function(el) { el.onclick = function() { el.disabled = true } })

我是一个糟糕的JS程序员,但有更好的方法可以做到这一点,例如将按钮放在父类和类中并使用event delegation