使用onclick调用函数时发现了一些奇怪的东西。假设我有一个类型复选框的输入(它几乎可以是任何类型的输入),附带一个name属性和一个onclick,调用一个函数:
function myFunction() {
alert("Hello World");
}
<form action='' method='post'>
<input type='checkbox' name='myFunction' onclick="myFunction()">
</form>
您可以看到,当输入的名称和功能的名称相同时,我得到TypeError: myFunction is not a function
。
但是当它们不同时,函数调用效果很好。我无法在任何地方找到任何关于此的文档。有人可以对此有所了解吗?
function myFunction() {
alert("Hello World");
}
<form action='' method='post'>
<input type='checkbox' name='testName' onclick="myFunction()">
</form>
答案 0 :(得分:2)
根据spec
控件的“控件名称”由其name属性给出。范围 FORM元素中控件的name属性是FORM 元件。
因此,名称的范围在 FORM 中更改,就像变量的范围在function
内再次声明时更改一样。
在没有表单
的情况下尝试此操作
function myFunction() {
alert("Hello World");
}
<input type='checkbox' name='myFunction' onclick="myFunction()">