php可以知道html输入的类型吗?

发布于 2024-10-12 07:00:30 字数 1566 浏览 2 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

绮筵 2024-10-19 07:00:30

假设您的意思是提交表单后,则不会,仅将参数名称和值发送到服务器。您可以巧妙地命名以在服务器端识别它们。然后,您可以在服务器上迭代请求变量并从名称中解析 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;
}

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

Assuming you mean after submitting the form, then no, only the parameter name and value are sent to the server. You could be a little clever with your naming to identify them server-side. At the server, you can then iterate over the request variables and parse chk from the name. For example:

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;
}

It makes it harder to get the variables at the server, though, if you don't know the type beforehand.

怪我闹别瞎闹 2024-10-19 07:00:30

是的,您可以使用 HTML 解析器 并获取输入元素的类型属性。

$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');

将输出“文本”。

SO 有很多涉及获取不同部分的示例。只需搜索一下即可。

Yes, you can use an HTML parser and fetch the input element's type attribute.

$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');

will output "text".

There is plenty of examples on SO that cover fetching different parts. Just give it a search.

番薯 2024-10-19 07:00:30

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

在我看来,你只有两个选择:

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

The only data types that reach PHP are strings and arrays, so it's not possible to do that directly.

The way I see it you only have two options:

  1. Use Hungarian-like notation, or
  2. Parse the form DOM with SimpleXML or similar
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文