【问题标题】:Is to possible to submit two forms simultaneously?是否可以同时提交两个表格?
【发布时间】:2010-12-28 00:14:20
【问题描述】:

是否可以使用 javascript 或提交按钮同时提交两个表单?

表单结构可以这样:

<form name="form1" method="post">
.........
</form>

<form name="form2" method="post">
.........
</form>

并从两个数组中获取数据?

【问题讨论】:

    标签: java php asp.net html css


    【解决方案1】:

    不,这是不可能的。您可以创建第三个隐藏表单,它将序列化两者的字段。

    如果你可以使用 jQuery:

    var str1 = $("form1").serialize();
    var str2 = $("form2").serialize();
    $.post(url, str1 + "&" + str2);
    

    您需要确保 str1 和 str2 不为空,当然还要避免两种形式之间的名称冲突。

    【讨论】:

    • @kgiannakakis 如何序列化它们?我怎么做?任何建议请。
    • @kgiannakakis 是否可以不使用 jquery,我的意思是通过 javascript 或更准确地说不使用 ajax?
    • kgiannakakis 发布的示例与 Ajax 无关。
    • @Sarfraz Ahmed:是的,没有 jquery 也是可能的,但代码会复杂得多。如果你不想使用 $.post,你可以使用表单的 submit 方法。
    • @kgiannakakis 但我认为如果使用表单的提交方法,那么如果我想附加序列化的数据,我将不得不使用 get 方法或如何使用表单的提交方法来序列化两个表单?
    【解决方案2】:

    提交这两个表单将触发对发布 URL 的两次调用,因此您将无法同时获取这两个数据。

    【讨论】:

      【解决方案3】:

      &lt;form&gt;标签的作用是封装浏览器发送给服务器的信息。

      解决这个问题的唯一方法是让一些 JavaScript 遍历 DOM,并在用户单击提交时从一个表单中提取信息并将其放入另一个表单中。

      【讨论】:

        【解决方案4】:

        问题在于提交表单会更改页面的 URL。这意味着当提交一个表单时,第二个表单不再存在于活动页面中,因此不会提交。

        您需要通过 AJAX 提交它们。您使用任何 javascript 库吗?

        【讨论】:

          【解决方案5】:

          不,它不可能在单个页面上。

          AJAX 提交可能是答案,正如其他地方所暗示的那样,但另一种可能的解决方案是将第二个表单嵌入另一个页面并将该页面放在第一页的 IFrame 中。

          不确定这在现实中会如何,但可能值得一试

          【讨论】:

            【解决方案6】:

            不,这是不可能的。

            请稍等片刻,告诉我们您要完成的工作以及您认为需要两种表格的原因。可能有更优雅的解决方案。

            【讨论】:

              猜你喜欢
              • 2011-03-20
              • 1970-01-01
              • 2019-08-22
              • 2019-03-14
              • 1970-01-01
              • 1970-01-01
              • 2010-09-15
              • 1970-01-01
              相关资源
              最近更新 更多