如何在事件发生后将标记值传递给javascript函数?

时间:2012-04-18 08:20:56

标签: javascript events

如何将标记值传递给javascript函数?

这有效:

onclick="submit(this.value)"

但这个dosnt工作:

onclick="submit(document.getElementById("ShortcutID").value)"

4 个答案:

答案 0 :(得分:1)

如果要在由相同类型的引号字符分隔的属性值中包含引号字符,则必须使用字符引用来表示它们。

onclick="submit(document.getElementById("ShortcutID").value)"

或者,使用不同类型的引用字符。

onclick="submit(document.getElementById('ShortcutID').value)"

...但请尽量避免使用内部事件属性,而是使用JavaScript绑定JavaScript事件处理程序。见Unobtrusive JavaScript

答案 1 :(得分:1)

存在语法错误。

ShortcutID应该包含在'ShortcutID'

更改此

onclick="submit(document.getElementById("ShortcutID").value)"

到这个

onclick="submit(document.getElementById('ShortcutID').value)"

答案 2 :(得分:0)

  

但是这个dosnt工作:onclick =“submit(document.getElementById(”ShortcutID“)。value)”

因为您使用双引号来分隔onclick属性以及内部分隔JavaScript字符串。尝试:

onclick="submit(document.getElementById('ShortcutID').value)"

这就是为什么JavaScript允许引用字符串的单引号和双引号。

您也可以使用实体来执行此操作,因为请记住,属性的内容与HTML中的任何其他内容一样都是HTML文本,因此:

onclick="submit(document.getElementById("ShortcutID").value)"

当你做一些非平凡的事情时,内容是HTML文本的事实往往是有问题的,这是不使用onclick="code"样式事件处理而是在代码中挂钩事件的一个原因。

答案 3 :(得分:0)

您的代码中存在的问题是您使用的是两组双引号。要解决此问题,请尝试以下操作:onclick =“submit(document.getElementById('ShortcutID')。value)”