【问题标题】:Two different actions on form submit表单提交的两种不同操作
【发布时间】:2010-03-05 05:52:51
【问题描述】:

我有一个带有提交按钮的表单。我在点击提交按钮时调用了一个函数。

function actionPage(form1)
{
  form1.action="action1.php";
  form1.submit();
  return(true);
}

现在我希望将表单数据提交到两个不同的页面。这些页面位于不同的服务器上。

我知道我们可以根据条件将数据发送到特定页面,但我不确定我们是否可以同时提交到两个不同的页面,即:

function actionPage(form1)
{
  form1.action="action1.php";
  form1.submit();
  return(true);
  form1.action="action2.php";
  form1.submit();
  return(true);

}

现在它显示 action1.php

【问题讨论】:

    标签: php javascript


    【解决方案1】:

    您无法使用简单的表单后提交来做到这一点。但你可以使用 AJAX 来实现。

    只要您调用 submit() fn,表单中的数据就会发布到操作 url 页面。因此您可能最终会加载页面。

    【讨论】:

    • 购物车软件如何管理这个?我的意思是当您单击结帐时,您的信息将保存在数据库中,并且您还会被定向到支付网关。即使您无法完成支付网关部分,您的订购信息也会被保存。显然,在同一次点击中会发生两件事 - 一些数据被插入到数据库中,并且正在提交一个表单。
    • vinayak,你需要先了解html表单post。您所说的在技术上是一种形式的帖子。一旦表单发布,数据就会被存储,服务器会根据服务器端代码发送浏览器进行重定向。不基于客户端代码。我建议你学习 HTML 表单和服务器端重定向
    【解决方案2】:

    你不能。您可以使用 XmlHttpRequest 将数据提交到多个位置。

    【讨论】:

      【解决方案3】:

      您不能以这种方式将表单提交到多个地方。您可以通过 AJAX 在客户端执行此操作,或者您可以将表单发布到一个页面,该页面将在任何其他需要去的地方提交数据。使用 AJAX 方法,由于same origin policy,您将遇到提交到不同域的问题。我建议在服务器端使用cURL 将数据发送到其他域。

      【讨论】:

        【解决方案4】:

        就这么简单:

        <form name=f1 type=post action=''> 
            <input type='submit' value='first url' onclick="f1.action='/save'">
            <input type='submit' value='second url' onclick="f1.action='/process'">
        </form>
        

        取自:http://www.plus2net.com/html_tutorial/submit-two.php

        【讨论】:

        • 糟糕,抱歉,误解了这个问题。在服务器端从另一个动作调用一个动作而不是两次提交表单可能更简单明了。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-31
        • 1970-01-01
        • 1970-01-01
        • 2012-08-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多