【问题标题】:Read the form field type after the submit?提交后读取表单字段类型?
【发布时间】:2014-04-22 04:48:39
【问题描述】:

使用 PHP,通过“POST”提交表单后...

我正在尝试检测输入类型是否为隐藏。

仅供参考:每个隐藏的输入都有不同的名称和不同的 ID。

例子:

<input type="hidden" id="uniqueID1" name="SomeName1" value="99" />

欢迎提出任何建议。

【问题讨论】:

  • 字段类型不随数据一起发送,所以不能这样做。
  • 所以最好使用名称或ID
  • 为什么需要这样做?可能有更好的解决方案。
  • 提交表单后,您将获得的唯一信息是作为密钥对的字段名称和值,因此您将没有关于天气它是隐藏字段或任何类型的信息。跨度>
  • 使用 AJAX。提交后,您可以通过 jquery.attr('') 获取隐藏输入并将变量发送到 php 函数。

标签: php forms input hidden-field


【解决方案1】:

这样做:

分配所有字段数组名称。

<input type="hidden" id="uniqueID1" name="hidden[SomeName1]" value="99" />

表单提交后,在 PHP 中。

<?php
if (! empty($_POST)) {
  foreach ($_POST as $k => $v) {
   if ($k == 'hidden') { // Here you get if the field is hidden one.
    if (! empty($v)) {
     foreach ($_POST as $hidName => $hidValue) {
     }
    }
   }
  }
}
?>

【讨论】:

  • 我无法更改字段名称。它们由第 3 方潜在客户生成“表单创建者”网站生成。我的代码必须遵循我的问题中详述的示例。有没有办法通过 PHP 检测输入类型?这真的是底线。
【解决方案2】:

我为此找到的唯一解决方案...

我创建了一个 jQuery 函数,它会在表单提交数据之前“查找”所有隐藏字段。然后,它将使用 FOR 循环创建具有输入命名结构的附加 [新] HIDDEN 字段: name="hidden1" value="1" 、 name="hidden2" value="1" 等。在我的 PHP 处理代码中,它会“看到”所有以“隐藏”作为字段名称开头的输入值,然后对这些隐藏字段执行任何操作。

底线... 没有办法让 PHP 检测正在处理到另一个 PHP 页面的表单的输入字段的文件类型。

**脚注:如果 PHP 页面正在提交给自身,则可以这样做! (我不知道。我没有测试过。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 2014-07-24
    • 2019-04-21
    • 2014-10-17
    • 1970-01-01
    相关资源
    最近更新 更多