【发布时间】:2012-09-19 17:55:45
【问题描述】:
我有一个包含多个表单的网页,每个表单都有自己的控件。
我想使用控件上的“onclick”事件来运行 JavaScript 函数。
有什么方法可以判断哪个form包含了“onclick”事件来自的控件? 我想不使用表单的id来做,但如果我必须这样做也没关系。
(我想做一个提交,无论它来自哪个表单。)
谢谢!
【问题讨论】:
标签: javascript html forms submit
我有一个包含多个表单的网页,每个表单都有自己的控件。
我想使用控件上的“onclick”事件来运行 JavaScript 函数。
有什么方法可以判断哪个form包含了“onclick”事件来自的控件? 我想不使用表单的id来做,但如果我必须这样做也没关系。
(我想做一个提交,无论它来自哪个表单。)
谢谢!
【问题讨论】:
标签: javascript html forms submit
您可以通过简单地检查它的.form 来获取归因于任何输入元素的表单,如下所示:
对于刚刚设置的元素onclick="getForm(this);"
// el gets passed by "this" within the onclick
function getForm (el) {
var form = el.form;
}
jsFiddle Demo - open console to see the "el" being passed in, as well as the parent form
附带说明:我建议不要在您的 HTML 元素中使用 onclick / onmouseover / 任何“JS”事件。不仅这些不同的东西通常应该分开,而且在 IE8 及更低版本中,这些事件中的每一个都会变成一个小的 script 块元素,这会降低性能。
【讨论】:
el 来自哪里;)