php - 一个表单,一个提交按钮,但有两个操作

标签 php javascript html forms action

我有一个收集客户信息的表格,然后它

  • 将它们保存在数据库中
  • 发送几封电子邮件
  • 将信息发送给 SalesForce (SF) 部门

现在,前两个任务很容易,但第三个任务给我带来了麻烦。对于 SF,我没有做任何特别的事情,只需添加他们的网址,他们就会从表格中提取他们需要的所有必要信息。在我看来,为了做到这些,我需要表单有 2 个与一个提交按钮关联的操作(不能有 2 个表单或 2 个按钮)。

所以在我的 raf.php 文件中我有这个表单,提交后我必须将它们重定向到显示成功/错误的 raf-submitted.php 页面消息和其他必要信息。

形式(灵感来自here)

 <form id="referralForm" name="referralForm" autocomplete="off" enctype="multipart/form-data" method="POST">

 <input id="saveForm" name="saveForm" class="field-submit" type="button" value="Submit" style="padding-left:20px" width="100" tabindex="23" onclick="FormSubmission(); SalesForceSubmission();" />

 </form>

JavaScript:

 $(document).ready(function()
 { 
    function SalesForceSubmission()
    {
       document.referralForm.action = "https://someAddress.salesforce.com/";
       document.referralForm.submit();          
       return true;
    }

    function FormSubmission()
    {
       document.referralForm.action = "raf-submitted.php";
       document.referralForm.submit();          
       return true;
    }
  });

raf-submitted.php 文件负责表单验证、数据库插入和电子邮件问题。

它不起作用。我也试过这些但没有成功:

有人可以帮帮我吗?谢谢!

最佳答案

提交表单后,您将不再位于该页面上。你已经离开了。

另一种方法是通过 AJAX 提交第一个操作,然后自然地将表单提交到第二个目的地。我建议使用 jQuery 进行 AJAX 调用,因为大部分 AJAX 代码都已经存在供您使用。

另一种选择是让 raf-submitted.php 在收到表单数据后从您的服务器向 salesforce 服务器执行 POST。请参阅:Post to another page within a PHP script

关于php - 一个表单,一个提交按钮,但有两个操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14614334/

相关文章:

javascript - 交换 Css 样式表

javascript - github的页面加载进度条是如何工作的?

javascript - PHP 邮件表单不会将输入发送到电子邮件

php - 使用 Ajax 或 JavaScript 选择下拉列表选项后在同一页面上执行 PHP 脚本

python - 模板中的django select_related

php - 原则 2 - 如何处理不同步的数据库/实体

javascript - 大于运算符 jquery 不返回 true

php - 如何在社交媒体中通过博客链接分享博客的标题、图片和链接中的简短内容?

php - 运算符优先级取决于语言或独立

php - 从网站运行 shell 脚本