【问题标题】:Populating a form post parameter with all other input values aggregated into one使用聚合为一个的所有其他输入值填充表单发布参数
【发布时间】:2014-06-12 17:45:29
【问题描述】:

我正在与一个获取数据的方法很笨拙的 API 交互。

我有一个用户提交的包含职位空缺信息的表单:名字、姓氏等。

API 只使用一个 POST 参数 - 'params' - 这是输入到表单中的所有信息,使用它们自己的结构分割成预定义的字段,例如:

params="Prop1:firstname;Prop2:lastname;Prop3:emailaddress"

他们的应用程序然后在另一端对此进行解码

所以我的表单当前有一堆输入字段,例如

<input id="firstname" name="firstname" type="text">

但是一旦用户输入它们,我需要获取所有这些值并将它们聚合到上面的一个参数中。

目前,我正在使用 php 在单个变量中使用硬编码值使用 textarea 对此进行测试,并且一切正常。

<textarea name="params" rows="2" cols="150">'.$textsubmitvalue.'</textarea>

但是有没有一种直接的方法可以将输入值放入$textsubmitvalue 变量中? (我可以隐藏文本区域)。

基本上,我正在努力寻找解决此问题的最佳方法 - 有 40 多个字段 - 所以任何指针都值得赞赏。

*编辑 - 整个表单结构的示例

<form method="POST" action="https://www.example.com/rest/candidate/">

    <input id="lastname" name="lastname" type="text" placeholder="Last name (Required)" class="input-xlarge" required="">

    :
    :

    <textarea name="params" rows="2" cols="150">'.$textsubmitvalue.'</textarea>

    <input type="submit" value="Submit Application" class="btn btn-success">
</form> 

【问题讨论】:

  • 您的表单是否直接向 3rd-party API 发送数据?
  • 是的 - 我已经编辑以添加更好的表单概览
  • 假设您的表单直接与第三方网站交互,您的问题与HTML/Javascript 相关,而不是PHP。您必须更改标签
  • 完成。我想我试图避免使用 javascript 来做到这一点,但我真的不知道最好的方法
  • 我建议在具有隐藏输入的同一页面上添加第二个表单,并在第一个表单上添加侦听器到“onsubmit”事件,这将在隐藏输入中聚合来自第一个表单的数据并触发提交第二个表单数据。

标签: javascript html post


【解决方案1】:

您可以对所有 $_GET / $_POST 变量运行 foreach 循环,将它们放在一个字符串中,如下所示:

<?php 
$received;
foreach($_POST as $key=> $value){
   $received.= $key.'='.$value';';
}

// do something with received
echo $received;

?>

【讨论】:

  • 谢谢。这对我不起作用,因为我无权访问 $_POST 变量 - 它们都由 API 处理
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-08
  • 2013-05-26
  • 1970-01-01
  • 1970-01-01
  • 2017-10-29
  • 2016-05-24
  • 2019-08-29
相关资源
最近更新 更多