为什么当我点击复选框时没有调用函数onclick?

时间:2015-05-22 19:45:11

标签: javascript html checkbox onclick

function click()
{
  alert("function is called");
}
<form action="regCheck.aspx" method="post" onsubmit="return submitF()">
  <input type="checkbox" name="checkboxs" onclick="click()"/>
</form>

这不是我的真实档案。我只是编写代码的这一部分,以便人们可以看到为什么我的 onclick 函数没有被调用。如果单击复选框时javascript打开一个警告窗口,则表示我可以使用它。我希望你能帮助我。 谢谢!

2 个答案:

答案 0 :(得分:2)

只需将您的函数名称从"click"更改为其他名称,以便它不会被the native click function of the input遮蔽:

&#13;
&#13;
function notcalledclick()
{
  alert("function is called");
}
&#13;
<form action="regCheck.aspx" method="post" onsubmit="return submitF()">
  <input type="checkbox" name="checkboxs" onclick="notcalledclick()"/>
</form>
&#13;
&#13;
&#13;

这是避免添加内联JavaScript并且更喜欢addEventListener的另一个原因:

&#13;
&#13;
document.getElementById('someId').addEventListener('click', function(){
  alert("function is called");
});
&#13;
<form action="regCheck.aspx" method="post" onsubmit="return submitF()">
  <input id=someId type="checkbox" name="checkboxs"/>
</form>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您的功能名称应该更改。

已经有一个名为click的函数,负责调用事件处理程序。通过声明另一个,您覆盖第一个,因此事件不再起作用。