Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 只有在真正选中时,才有办法在$\u POST中获取SELECT值吗?_Php_Html_Forms - Fatal编程技术网

Php 只有在真正选中时,才有办法在$\u POST中获取SELECT值吗?

Php 只有在真正选中时,才有办法在$\u POST中获取SELECT值吗?,php,html,forms,Php,Html,Forms,我有一个可能不寻常的问题。我有一些“螺旋形状”,每种形状都有一些“螺旋类型” 所以,我有几个表单选择,与“螺旋类型”相关。它们都是隐藏的。当用户选择“螺旋形状”时,它们会出现在选择框中。换句话说,用户选择螺钉形状后,将出现相关的螺钉类型选择菜单。因此,一次只能看到一个类型选择 SELECT[shape] shape-1 shape-2 etc SELECT[types for shape 1] // visible only if shape-1 is selected

我有一个可能不寻常的问题。我有一些“螺旋形状”,每种形状都有一些“螺旋类型”

所以,我有几个表单选择,与“螺旋类型”相关。它们都是隐藏的。当用户选择“螺旋形状”时,它们会出现在选择框中。换句话说,用户选择螺钉形状后,将出现相关的螺钉类型选择菜单。因此,一次只能看到一个类型选择

SELECT[shape]
   shape-1
   shape-2
   etc

SELECT[types for shape 1] // visible only if shape-1 is selected
   type-1
   type-2
   etc

SELECT[types for shape 2] // visible only if shape-2 is selected
   type-1
   type-2
   etc

...and so on...
我需要检索的数据只是螺钉的形状和相关类型

问题:$\u帖子将包含所有形状的所有类型:不好。否则,我可以将每个类型select命名为一个数组(screw[type]),最后只得到一个值,但该值始终是最后一个类型select的选中(或默认)选项:甚至更糟

我想要得到的只是$_POST['screw-shape']和$_POST['screw-type'],每一个都是用户真正选择的值


有办法吗?

尝试不仅隐藏输入,还禁用它,禁用的输入不应在请求中移动

尝试不仅隐藏输入,还禁用它,禁用的输入不应在请求中移动

您可以有多个同名表单元素;它仍然是有效的HTML。由于对于
screw\u type
的两个选择中的一个选择总是隐藏的,因此post变量对于screw type只有一个条目。考虑

<form action="...">
    <select name="screw_shape">
        ...
    </select>
    <select name="screw_type" class="hidden shape1">
        ...
     </select>
     <select name="screw_type" class="hidden shape2">
        ...
     </select>
</form>

...
...
...

使用JavaScript适当地切换隐藏类将根据需要处理带有请求参数的表单提交。

您可以使用相同名称的多个表单元素;它仍然是有效的HTML。由于对于
screw\u type
的两个选择中的一个选择总是隐藏的,因此post变量对于screw type只有一个条目。考虑

<form action="...">
    <select name="screw_shape">
        ...
    </select>
    <select name="screw_type" class="hidden shape1">
        ...
     </select>
     <select name="screw_type" class="hidden shape2">
        ...
     </select>
</form>

...
...
...

使用JavaScript适当地切换隐藏类将根据需要处理带有请求参数的表单submit。

如果我理解正确,通常通过添加一个初始默认选项来完成,该选项的空白值为“Choose…”或类似值。以及客户端JS,强制他们选择所需的值。如果问题包括隐藏选择,如果您在隐藏时禁用它们,则它们不会与表单一起提交。如果我理解正确,通常通过添加一个初始默认选项来完成,该选项的空白值为“Choose…”或类似值。以及客户端JS,强制他们选择所需的值。如果问题包括隐藏选择,如果在隐藏时禁用它们,则它们不会与表单一起提交。
为例。
为例。