我遇到了问题 - 为什么这段代码不起作用?
<input type="radio" name="one" value="xxx" onclick="test()"/>
//below in the same file
<script>
function test()
{
if (this.value=="xxx")
{
alert('ok');
}
}
</script>
单击单选按钮后没有警报。当我试图显示单选按钮的值时 - 它显示未定义的&#39;,而不是&#39; xxx&#39; - 为什么?
欢呼声
答案 0 :(得分:0)
<input type="radio" name="one" value="xxx" onclick="test(this)"/>
<script>
function test(radioItem)
{
if (radioItem.value=="xxx")
{
alert('ok');
}
}
</script>
答案 1 :(得分:0)
它显示未定义,因为在单击输入时调用该函数,但该函数未绑定到输入,因此在调用时没有绑定到单击的元素,因此单击被触发,但是this
未定义。尝试在输入中添加ID,然后将该功能绑定到click事件,如下所示:
<input id="testDiv" type="radio" name="one" value="xxx" />
<script>
document.getElementById('testDiv').onclick = function() {
if (this.value == "xxx") {
alert('ok');
alert(this.value);
}
}
</script>
&#13;