<script type="text/javascript">
function accept(s)
{
alert(s);
}
</script>
<input type="button" style="background-color:#e2e6f0;border:1px solid
#DCDCDC;padding-left:5px;padding-right:5px;padding-top:3px;padding-bottom:3px"
value="accept" onclick="accept('28391135292739653997')">
为什么onclick事件不会触发accept函数?我希望它可以工作。我认为它可能是由于数字的数字,但它在我的样本中工作,我也使用了30位数。请告诉我错误在哪里。非常感谢任何帮助。谢谢
答案 0 :(得分:5)
这是因为accept是input元素属性的名称。所以onclick事件试图将accept属性作为一个方法,而不是你定义的accept函数。如果您将其更改为:
onclick="window.accept('28391135292739653997')"
它将调用全局定义的接受函数。
答案 1 :(得分:2)
如果您将其称为accept
以外的其他内容,则似乎有效:
答案 2 :(得分:1)
您应该使用其他名称调用该函数。
'accept'是所有HTML输入的属性。因此,当您调用accept时,它会尝试访问该属性,并且无法将其作为函数调用。这对我来说是一种奇怪的新行为。但是测试它,如果你把
onclick="value = 'test';"
你会看到当你点击它时,按钮的值将变成'test'
有人可以用规范作为背景来解释这种行为吗?
答案 3 :(得分:1)
您不能将名称accept用作javascript函数,因为标签INPUT本身具有accept属性。 javascript正在尝试访问INPUT标记的ACCESS属性。 将您的功能重命名为其他功能将使其正常工作。
看到这个小提琴:
祝你好运!