Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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 2个具有相同id但有一个隐藏的选择框_Php_Html_Drop Down Menu - Fatal编程技术网

Php 2个具有相同id但有一个隐藏的选择框

Php 2个具有相同id但有一个隐藏的选择框,php,html,drop-down-menu,Php,Html,Drop Down Menu,我有两个具有相同id和名称的选择框,但一次只显示一个 但当表单发布时,我并没有得到确切的值。它只显示下拉列表中的第一个值 下面是相同的示例代码 <?php var_dump($_POST) ?> <form method="POST" action=""> <select name="test" id="test"> <option value="0">0</option> &

我有两个具有相同id和名称的选择框,但一次只显示一个

但当表单发布时,我并没有得到确切的值。它只显示下拉列表中的第一个值

下面是相同的示例代码

<?php
    var_dump($_POST)
 ?>  



<form method="POST" action="">
    <select name="test" id="test">
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </select>

        <select name="test" id="test" style="display:none" >
            <option value="0">0</option>
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
        </select>

    <input type="submit" value="Add"/>
</form>

我甚至试着用一个div包围选择框,然后隐藏它。

不知道为什么有两个同名的选择框,但是当你隐藏一个选择框时,你还需要禁用它太禁用=禁用


根据HTML规范,禁用的字段不会提交,因此您应该从未禁用的select中发布您的真实值。

不确定为什么您有两个同名的select,但当您隐藏其中一个时,您还需要将其禁用太禁用=禁用


根据HTML规范,禁用的字段不会提交,因此您应该从未禁用的选择中发布真实值。

您必须有不同的id,并在代码中有条件地检查哪个选择框值可见,获取其值。

您必须有不同的id,并在代码中有条件地检查哪个选择框值是可见的。获取其值。

提交表单时,POST数据包含基于属性名称的数据。如果它们具有相同的名称,则第二个选择的值将覆盖从第一个选择的值。即使你将它隐藏在页面中


如果只想获得第一个select的值,则应通过添加disabled=disabled或更改其名称来禁用第二个select。

提交表单时,POST数据包含基于属性名称的数据。如果它们具有相同的名称,则第二个选择的值将覆盖从第一个选择的值。即使你将它隐藏在页面中


如果您只想获得第一个select的值,您应该通过添加disabled=disabled或更改其名称来禁用第二个select。

您可能正在使用一些javascript来切换显示哪个select

如果是这样的话,那就从

<select name="test" id="test"></select>
<select name="test_dummy" id="test_dummy" style="display:none" ></select>

无论哪种代码更改了style属性,都必须更改name和id属性

假设您正在使用一些javascript来切换显示哪个select

如果是这样的话,那就从

<select name="test" id="test"></select>
<select name="test_dummy" id="test_dummy" style="display:none" ></select>

无论哪种代码更改了style属性,都必须更改name和id属性

即使在每个点上都隐藏了其中一个属性,它们在标记中应该有不同的名称,以便您可以识别哪个是哪个

否则,无论是否通过CSS隐藏,它都将只通过表单传递标记值中的最后一个元素


我不太清楚你为什么一次只隐藏/显示其中一个。如果将select中的替换为新的,而不是使用show/hide,可能会更好。

即使在每个点都隐藏其中一个,它们在标记中也应该有不同的名称,以便您可以识别哪个是哪个

否则,无论是否通过CSS隐藏,它都将只通过表单传递标记值中的最后一个元素


我不太清楚你为什么一次只隐藏/显示其中一个。如果您将“选择”中的替换为新的,而不是使用“显示/隐藏”,可能会更好。

Id应该是唯一的->我想知道这个问题如何值得2次追加投票?Id应该是唯一的->我想知道这个问题如何值得2次追加投票?