【问题标题】:How to use two forms and submit once?如何使用两个表单并提交一次?
【发布时间】:2023-03-22 03:56:01
【问题描述】:

是否可以有两个带有两个提交按钮的表单,这样当我单击按钮时,它会在两个表单中保存输入字段?

我打算在 PHP / MySQL 中解决这个问题。

我尝试了自己的方式:

if ((isset($_POST["form-1"])) && (isset($_POST["form-2"])) {
    //SQL Insertion 
}

【问题讨论】:

  • 不,您一次只能提交一份表格是不可能的。
  • 是的,我知道我可以制作一个单位表格,但我必须使用两种不同的表格,而且这些表格不是各自的
  • Mac,你能不能用两个表格指定主要原因,需要一键提交..如果这个得到明确的解决方案,我可以更全面....

标签: php mysql html


【解决方案1】:

不,您一次只能提交一个表单。

如果您必须使用两个表单,唯一的方法是使用 jQuery 将第二个表单的字段克隆到第一个表单中。但是,当 JS 关闭时将无法工作。

Copying from form to form in jQuery

为什么需要两种形式?

【讨论】:

  • 实际上我应该使用两种形式,因为我使用的原始脚本需要两种不同的形式,我无法将它们组合成一个单元,jquery 的方式如何!?
  • (nitpicking) 你不需要 jQuery 来组合表单。也可以单独使用 JavaScript 完成 ;)
  • @Gordon 是的。 jQuery 病毒感染了我。我在 SO 上花费了太多时间。 :)
  • @Pekka 从您注册后获得的声誉来看,我非常赞同 ;)
  • @Gordon 是的……但这是值得的!我也学到了很多。 :)
【解决方案2】:

如果遇到这样的问题,说明设计有缺陷。

出于某种原因,您一次只能提交一个表单。

将设计更改为仅使用一种形式;无论如何都提交两个解决方法是一种可怕的做法,最好避免。

【讨论】:

    【解决方案3】:

    实现类似结果的一种方法是将两个表单合并为一个表单,并使用 2 个具有不同值和相同 name="submit" 字段的提交按钮。

    toFoo.html:

    <form action="doFoo.php">
        User <input type="text" name="username" />
        Pass <input type="password name="password" />
    
        <!-- Submit one -->
        <input type="submit" name="submit" value="Create user" />
    
        <!-- some more of your fields or whatever -->
        <input type="text" name="blah" value="bleh" />
    
        <!-- Submit two -->
        <input type="submit" name="submit" value="Login user" />
    </form>
    

    doFoo.php:

    <?php
    if( $_POST["submit"] == "Login user" ) {
        //do login foo    
    }
    if( $_POST["submit"] == "Create user" ) {
        //do signup foo 
    }
    ?>
    

    【讨论】:

      【解决方案4】:

      您可以通过 Ajax 同时提交两个表单,但您的 php 脚本一次只能收到一个表单。如果您需要将所有输入都转到一个脚本,最好将您的 2 个表单转换为一个大表单

      【讨论】:

        【解决方案5】:

        提交按钮仅提交其所在表单的字段。如果您需要两个表单的内容,则必须将其他表单的字段复制到单击提交按钮的表单中的某个隐藏字段。这可以很容易地在 JavaScript 中完成。

        【讨论】:

          【解决方案6】:

          据我所知,一次只能提交一个表单。您可以尝试将它们包装成一种形式。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-02-21
            • 2017-12-24
            • 2018-10-28
            • 1970-01-01
            • 2014-07-06
            • 2011-06-17
            • 1970-01-01
            相关资源
            最近更新 更多