【发布时间】:2017-02-02 08:00:01
【问题描述】:
onclick 事件不起作用。当我单击复选框时,什么也没有出现。 这是我的代码:
function showHide()
{
var checkbox1=document.getElementById("iconbox");
var hiddeninputs=document.getElementsByClassName("hidden");
for (var i=0;i!=hiddeninputs.length;i++){
if(checkbox1.checked){
hiddeninputs[i].style.display="block";
}
}
}
.hidden {
display: none;
}
<form action="#" name="form1">
<input type="checkbox" name="iconbox" id="iconbox"onclick="showHide()"/>
<label for="iconbox">Manage your header</label>
<input type="text" name="icon1" id="icon1" class="hidden">
<input type="text" name="icon2" id="icon2" class="hidden">
</form>
【问题讨论】:
-
写:
onClick="return showHide()" -
成功了,你期待什么?如果你想隐藏/显示输入文本,你不必使用
class="hidden"来隐藏和style="display: block"来显示,但你必须决定:使用添加/删除类或更改样式。 -
@SorangwalaAbbasali 这绝对不会改变任何事情。
-
还是不行
-
你所拥有的应该可以工作(并且可以工作:jsfiddle.net/1867ow5n)。如果它不适合您,请检查控制台是否有错误。另请注意,
showHide()函数 不应 放置在 jQuery document.ready 处理程序中,因为由于使用了onclick事件属性,它需要在全局范围内 - 这是一个问题本身。
标签: javascript jquery html css