【问题标题】:send data from two forms with one button to one php receiver with ajaxSubmit() function使用 ajaxSubmit() 函数将数据从两个表单中的一个按钮发送到一个 php 接收器
【发布时间】:2013-02-11 18:25:59
【问题描述】:

我在 html 中有两种形式:

<form id="form1" action="update.php" method="post">
<input type="text" name="username1">
</form>

<form id="form2" action="update.php" method="post">
<input type="text" name="username2">
</form>

<button type="button" onclick="submitTwoForms();">Send</button>

现在我使用 jQuery 表单插件将这两个表单发送到一个名为“update.php”的 php 页面。 像这样的Javascript:

function submitTwoForms() {
         $('#form1, #form2').ajaxSubmit();
}

问题是,update.php只能从form1获取数据,即username1。 update.php如何同时从form1和form2获取数据?

我的 update.php 是这样的:

<?php
$user1 = $_POST['username1'];
$user2 = $_POST['username2'];
?>

我想保留这些:

  1. 我想使用 ajaxSubmit() 函数,因为它可以处理文件上传。
  2. 我想在 html 中保留两个表单,而不是一个。

提前感谢您的帮助!

【问题讨论】:

    标签: php jquery forms submit


    【解决方案1】:

    您可以使用 jQuery Form Plugin 并像这样 方法1

     $(document).ready(function() { 
            $('#form1, #form2').ajaxForm(function() { 
                // optionally do stuff here after forms submitted
            });
    
            $('#submit').click(function() {
                $('#form1, #form2').ajaxSubmit();
                return false; 
            });
        });
    

    方法二: 试试这个Demo Here:

    $(document).ready(function() {
        $("#submit").click(function() {
            $.post($("#form1").attr("action"), $("#form1").serialize(),
              function() {
                $.post($("#form2").attr("action"), $("#form2").serialize(),
                  function() {
                    alert('Both forms submitted');
                  });
              });
          });
      });
    

    【讨论】:

    • 感谢您的回复。但我真的不明白。你能解释一下吗?我尝试做类似 function submitTwoForms() { $('#form1, #form2').ajaxForm(); $('#form1, #form2').ajaxSubmit(); }
    • 这里有一个类似的帖子:stackoverflow.com/questions/6857038/… 如果有帮助,请告诉我
    • 嗨,我已经关注并尝试了您链接中的 ajax 解决方案,但仍然只能将第一个表单中的数据传递给 php 接收器。
    • 嗨,我认为 ajax 序列化无法处理文件上传。我添加了我的 php 代码并更改了 javascript 代码。也许我的问题会更清楚。
    • sry,你的第一个方法是我想找到的,但仍然对我不起作用。我将逐步尝试您提供给我的链接,然后向您发送一些反馈。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    • 2021-02-22
    相关资源
    最近更新 更多