如何将标记值传递给javascript函数?
这有效:
onclick="submit(this.value)"
但这个dosnt工作:
onclick="submit(document.getElementById("ShortcutID").value)"
答案 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)”