Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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、JavaScript)中隐藏值?_Php_Javascript_Forms_Drop Down Menu - Fatal编程技术网

是否可以在表单下拉列表(PHP、JavaScript)中隐藏值?

是否可以在表单下拉列表(PHP、JavaScript)中隐藏值?,php,javascript,forms,drop-down-menu,Php,Javascript,Forms,Drop Down Menu,我有一个表单下拉框(用于50个州),它是通过PHP for循环填充的(见下面的代码)。用户选择一个居住州,随后在表单中还必须选择一个邮寄州(如果两者不同)。我在JavaScript中提供了一个复选框,当选中该复选框时,所有邮件信息都会填充在“住宅信息”部分中已经输入的信息。选中该框后,除邮寄状态外的所有邮寄信息字段都将被禁用,并且读取的与住宅信息相同。邮件状态的读取方式与住宅信息的读取方式不同,因为我没有使用该选项填充它。是否有某种方法可以使用该选项填充下拉框,以便用户无法看到它,但当我想在代码

我有一个表单下拉框(用于50个州),它是通过PHP for循环填充的(见下面的代码)。用户选择一个居住州,随后在表单中还必须选择一个邮寄州(如果两者不同)。我在JavaScript中提供了一个复选框,当选中该复选框时,所有邮件信息都会填充在“住宅信息”部分中已经输入的信息。选中该框后,除邮寄状态外的所有邮寄信息字段都将被禁用,并且读取的
与住宅信息相同。邮件状态的读取方式与住宅信息的读取方式不同,因为我没有使用该选项填充它。是否有某种方法可以使用该选项填充下拉框,以便用户无法看到它,但当我想在代码中使用它时,它仍然可用

            <label>Residental State</label><br/>
            <select id="res_state" name="res_state">
                <?php  
                    $states = array('Select State' , 'AA' , 'AE' , 'AK' , 'AL' , 'AP' , 'AR' , 'AS' , 'AZ' , 'CA' , 'CO' , 'CT', 'DE' , 'DC' , 'FL' , 'FM' , 'GA' , 'GU' , 'HI' , 'IA' , 'ID' , 'IL' , 'IN' , 'KS' , 'KY' , 'LA' , 'MA' , 'MD' , 'ME' , 'MH' , 'MI' , 'MN' , 'MO' , 'MP' , 'MS' , 'MT' , 'NC' , 'ND' , 'NE' , 'NH' , 'NJ' , 'NM' , 'NV' , 'NY' , 'OH' , 'OK' , 'OR' , 'PA' , 'PR' , 'PW' , 'RI' , 'SC' , 'SD' , 'TN' , 'TX' , 'UT' , 'VA' , 'VI' , 'VT' , 'WA' , 'WI' , 'WV' , 'WY');
                    for($i = 0; $i < count($states); $i++){
                        echo "<option>$states[$i]</option>";
                    }
                ?>
            </select>
居住状态

禁用所有表单控件,并使用第一个表单中的实际值填充它们


这是用户期望的典型行为。如果您在任何地方编写与住宅信息相同的
,从用户体验的角度来看,您的网站都会显得不专业。

您可以使用JavaScript添加该选项,而不是隐藏该选项然后显示它:

theSel = document.getElementById('res_state');
theSel.options[theSel.length] = new Option('same as residential information', 'value');

无关的:考虑把你的文章改成一个前文:<代码>前程($状态为$状态){回声“$STATE”;}谢谢,我接受了你的建议,它看起来更干净了。我本来是按照你的建议做的,但是,如果用户选中与
相同的
框,然后返回并更改
住宅信息
邮寄信息
不会更新。我试图避免编写另一个不断检查
住宅信息
字段值的函数。用户知道这一点,在完成之前不会选中该框。如果你还在担心的话。只需向表单中的每个元素添加
onchange=“your\u copy\u method()”
。这样,当表单上的内容发生变化时,另一个就会更新。哈哈,我不知道为什么我没有想到这一点!我在想,我必须每隔几秒钟或其他什么时间做一些糟糕的功能来检查
住宅区。我照你的建议做了,效果很好!谢谢!