有人可以解释为什么一个名为“action”的函数在按钮被表单标签包围时就会在下面的代码中创建一个类型错误。我认为这会导致与表单的action属性发生奇怪的冲突,但我想知道为什么它会在这个范围内发生(“action”没有以任何其他方式定义):
<html>
<head>
<script type="text/javascript">
function action() {
alert('test');
}
</script>
</head>
<body>
<form>
<input type="button" value="click" onClick="action();">
</form>
</body>
</html>
答案 0 :(得分:5)
在表单中,action
是表单操作的字符串引用。如果您将onclick更改为alert(action)
,您将获得表单的操作(对于您的特定表单,这将是一个空字符串)。
以同样的方式,form
将是对表单的引用,method
将包含表单方法,如果您在表单中使用它们。 window.action
仍将参考您的功能。