0

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

这有效:

onclick="submit(this.value)"

但这不起作用:

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

4 回答 4

1

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

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

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

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

…但尽量避免使用内在事件属性,而是将 JavaScript 事件处理程序与 JavaScript 绑定。请参阅不显眼的 JavaScript

于 2012-04-18T08:23:21.960 回答
1

有语法错误。

ShortcutID 应包含在此“ShortcutID”中

改变这个

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

对此

onclick="submit(document.getElementById('ShortcutID').value)"
于 2012-04-18T08:23:57.077 回答
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"样式事件处理而是将事件连接到代码中的原因之一。

于 2012-04-18T08:23:32.333 回答
0

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

于 2012-04-18T08:25:14.773 回答