javascript - PHP Javascript 单一表单调用提交到两个表单

标签 javascript php jquery html forms

你见过吗?
submit a form inside another form

Submitting form data to two locations using Javascript and PHP?

他们都没有真正回答问题。

让我解释一下这个场景。我有一个表格,要求提供姓名、电子邮件和电话号码,需要将其提交到两个不同 vendor 的两个位置。

1) 阿韦伯 2)公司

一种可能性是创建一段 Javascript 代码,当人们点击“提交”时,它会将它发送到两个不同浏览器窗口中的两个表单调用(这是我的首选方法)

第二种可能性是先将其发送到 Aweber (autorespnder),然后将变量传递到自定义 PHP 页面。使用 $_GET 获取变量,然后将它们传递到一个自动提交的表单中,该表单将这些传递到第二个表单,然后发送给公司。

例如 - 我可以先将表单提交给 Aweber,然后将结果传回 form.php:

$name = $_get['name'];
$email = $_get['email'];
$phone = $_get['phone'];

如果使用 Curl 或 javascript,表单的其余部分会是什么样子?

我尝试将变量传递到公司post表单中。它不接受任何 GET 命令 - 它只接受 POST 命令,因此 CURL 可能无法工作,(除非有办法通过 CURL 发布表单?)

谁有一个优雅的解决方案,而且对最终用户来说还不错?

你有什么想法?提前致谢!

最佳答案

在没有任何真实数据可继续或真实表单可调用的情况下,这应该给出了如何使用 AJAX 和 jQuery 完成此操作的基本概念。

*更新

我更新了答案以展示如何将表单变量作为 post 而不是 get 传递。

HTML

<form id="test-form">
  <input type="text" id="name" name="name"/>
  <input type="submit" value="submit"/>
</form>

<p class="response1">
  Response 1 goes here
</p>
<p class="response2">
  Response 2 goes here
</p>

jQuery

$("#test-form").on("submit", function(e) {
  e.preventDefault(); //stops the form from actually submitting
  var root = 'https://jsonplaceholder.typicode.com';

  $.ajax({
    url: root + '/posts/1',
    method: 'POST',
    data: $("#test-form").serialize()
  }).then(function(data) {
    if(data) {
        $(".response1").text(data.title);
        $.ajax({
          url: root + '/posts/2',
          method: 'POST',
          data: $("#test-form").serialize()
        }).then(function(data) {
          if(data) {
            $(".response2").text(data.title);
          }
        });
    }
  });
})

显然,您必须正确设置 URL 并传递发布数据,这在此处不会发生,因为我没有用于查询接受发布数据的 API。第一个表单提交后,它将数据发送到第二个表单。您如何处理数据将取决于服务器的响应。

fiddle :https://jsfiddle.net/calder12/t0fos3kk/1/

关于javascript - PHP Javascript 单一表单调用提交到两个表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40687358/

相关文章:

javascript - 如何在没有内联脚本的情况下异步加载 CSS(符合 CSP)

javascript - 表达 Jade 处理助手错误

javascript - jQuery Validate() 和 Valid() 方法未定义或不起作用

表单上的 Jquery PreventDefault 不起作用

javascript - 单击按钮后下载 CSV 文件

对象数组中的javascript排序元素

javascript - 如何使用 Leaflet 从图像创建 map

php - 我的验证码不起作用,仅显示方形缩略图

php - 是否可以在没有 sqlite 函数的情况下将 SQLite 数据库与 PHP 一起使用?

php - 如何在 Symfony 中对 Monolog 消息进行高级过滤?