【问题标题】:Multiple forms, detect which one onclick came from多种形式,检测哪一个onclick来自
【发布时间】:2012-09-19 17:55:45
【问题描述】:

我有一个包含多个表单的网页,每个表单都有自己的控件。

我想使用控件上的“onclick”事件来运行 JavaScript 函数。

有什么方法可以判断哪个form包含了“onclick”事件来自的控件? 我想不使用表单的id来做,但如果我必须这样做也没关系。

(我想做一个提交,无论它来自哪个表单。)

谢谢!

【问题讨论】:

    标签: javascript html forms submit


    【解决方案1】:

    您可以通过简单地检查它的.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 来自哪里;)
    • 对不起,我对这个网站有点陌生。我没有看到绿色复选标记。我点击了 - 这篇文章对您有用吗?
    • 我的帖子左边是箭头,中间有(4),你应该看到它下面的复选标记
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 2011-07-13
    • 2014-09-24
    • 2020-02-18
    相关资源
    最近更新 更多