是否可以通过php知道html输入的类型?

时间:2011-01-18 12:07:59

标签: php input types get

我需要检查表单中不同输入的类型。

我需要知道字段xxx是复选框,收音机,选择等等。

有可能吗?

谢谢!

  • César -

3 个答案:

答案 0 :(得分:2)

假设您的意思是在提交表单后,则为no,仅将参数名称和值发送到服务器。你的命名可能会有点聪明,以便在服务器端识别它们。然后,在服务器上,您可以迭代请求变量并从名称中解析chk。例如:

<强> HTML

<input type="checkbox" name="chkMyCheck" value="1" />

<强> PHP

foreach ($_GET as $key => $value) {
    if (substr($key, 0, 3) == "chk")
        echo 'Checkbox '.$key.' submitted with value '.$value;
}

如果您事先不知道类型,那么在服务器上获取变量会变得更加困难。

答案 1 :(得分:0)

是的,您可以使用HTML parser并获取input元素的type属性。

$html = <<< HTML
<form>
    <input type="submit" value="Submit"/>
    <input type="hidden" value="1234"/>
    <input type="text" value="some text" id="xxx"/>
</form>
HTML;

// fetch with
$dom = new DOMDocument;
$dom->loadHTML($html); // use loadHTMLFile to load from file or URL
echo $dom->getElementById('xxx')->getAttribute('type');

将输出“text”。

在SO上有很多例子可以涵盖不同的部分。只需进行搜索即可。

答案 2 :(得分:0)

到达PHP的唯一数据类型是字符串和数组,因此无法直接执行此操作。

我看到你的方式只有两个选择:

  1. 使用类似匈牙利语的表示法,或
  2. 使用SimpleXML或类似的
  3. 解析表单DOM