【问题标题】:jQuery tabs/validation submitting multiple formsjQuery选项卡/验证提交多个表单
【发布时间】:2015-01-12 08:46:20
【问题描述】:

我正在使用 jQuery 选项卡,并且每个选项卡都使用一个表单。我在最后一个表单上有一个提交按钮。如果所有表单的验证都成功,我希望能够提交所有表单。

<s:div id="wrapper">
            <s:div id="maincontent">
                <s:div id="tabs">
                    <ul>
                        <li><a href="#tabs-1" id="tab-1">Tab 1</a></li>
                        <li><a href="#tabs-2" id="tab-2">Tab 2</a></li>
                        <li><a href="#tabs-3" id="tab-3">Tab 3</a></li>
                        <li><a href="#tabs-4" id="tab-4">Tab 4</a></li>
                    </ul>
                    <s:div id="tabs-1">
                        <jsp:include page="/pages/tab1.jsp" />
                    </s:div>
                    <s:div id="tabs-2">
                        <jsp:include page="/pages/tab2.jsp" />
                    </s:div>
                    <s:div id="tabs-3">
                        <jsp:include page="/pages/tab3.jsp" />
                    </s:div>
                    <s:div id="tabs-4">
                        <jsp:include page="/pages/tab4.jsp" />
                    </s:div>
                </s:div>
            </s:div>
        </s:div>

我的标签和验证工作正常。有没有办法在tab4页面按下提交按钮时提交所有表单?

【问题讨论】:

    标签: javascript jquery html forms jquery-ui


    【解决方案1】:

    您可以将 javascript 侦听器附加到“点击”事件的按钮。

    $('.button4').on('click', function() {
       $('.button').click();
    });
    

    这样您可以模拟其他按钮的点击。 我假设其他三个按钮具有 HTML 类按钮,最后一个按钮具有类 button4。 这只是举例。

    希望这会有所帮助。

    【讨论】:

    • 我明白,但我也想提交表格 1 - 3。目前只提交 tab4。
    • 如果这些按钮是提交类型,这应该可以工作。另一种方法可能是为其他三个表单提供类并在侦听器中提交它们:$('.form').submit();
    • 奇怪的是,这行得通!奇怪的是,我在每个屏幕上添加了按钮,将它们隐藏起来,然后使用:$("#btn1").click() 并且它起作用了。我也尝试在没有按钮的情况下执行此操作:'$("#tab1_form").submit()',但没有成功。
    • 好吧,我有点快对此 +1。点击仅适用于第一个。其他两页被跳过。所以,答案只是部分正确。
    • 你打电话给$("#btn1").click()。你也在打电话给$("#btn2").click()$("#btn3").click() 吗?