【问题标题】:PHP - Add form element before submit - Buy ButtonPHP - 在提交之前添加表单元素 - 购买按钮
【发布时间】:2010-11-30 10:21:05
【问题描述】:

我需要在单击提交按钮后但在将 POST 数据发送到服务器之前将表单元素动态添加到 HTML 表单。新元素必须从我服务器上的 PHP 文件中“读取”。

历史: 目前,我的 HTML 表单具有“隐藏”字段,这些字段被提交到另一台服务器进行处理。我无法控制其他服务器。我的问题是任何人都可以编辑这些隐藏字段。

如何在表单提交后立即将表单元素动态添加到 POST 数据中?

【问题讨论】:

  • 任何人都可以代表您提交包含任何数据的表单,所以我不明白您究竟想在这里完成什么......

标签: php jquery forms form-submit hidden-field


【解决方案1】:

你可以这样试试:

  1. 首先通过将提交按钮类型从“提交”更改为“按钮”(或其他)来禁用提交

  2. 将该按钮上的onclick 放入javascript 例程(这里我使用submit_form())。

  3. 在表单中创建一个空 div。 (这里我叫它id = 'dynamic'

  4. 使用 jquery,这是submit_form()

  5. 我认为在提交之前您需要给它一些时间让这些元素正确绑定。可能在$("#myForm").submit()之前有一小段时间延迟;

这是submit_form()函数的代码:

function submit_form()
  {
    $("#dynamic").append("<input type='hidden' name='input1' value='whatever'>");
    $("#dynamic").append("<input type='hidden' name='input2' value='whatever'>");
    $("#myForm").submit();
  } 

【讨论】:

    【解决方案2】:

    您可以将数据发布到您的服务器,然后再将新元素发布到外部服务器。

    你的工作是在服务器端完成的。

    另见:

    php server-to-server post?

    【讨论】:

      【解决方案3】:

      如果您需要对提交给其他服务器的内容进行任何控制,您必须自己进行。将表单提交到您自己的服务器,然后对其进行验证,添加您的数据并重新提交到其他服务器。

      您可以使用 PHP 中的 CURL 扩展从您的服务器发布数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-17
        • 1970-01-01
        • 2018-04-01
        • 1970-01-01
        • 2017-08-18
        • 2011-05-22
        • 1970-01-01
        相关资源
        最近更新 更多