是否可以在表单下拉列表(PHP、JavaScript)中隐藏值?
我有一个表单下拉框(用于50个州),它是通过PHP for循环填充的(见下面的代码)。用户选择一个居住州,随后在表单中还必须选择一个邮寄州(如果两者不同)。我在JavaScript中提供了一个复选框,当选中该复选框时,所有邮件信息都会填充在“住宅信息”部分中已经输入的信息。选中该框后,除邮寄状态外的所有邮寄信息字段都将被禁用,并且读取的是否可以在表单下拉列表(PHP、JavaScript)中隐藏值?,php,javascript,forms,drop-down-menu,Php,Javascript,Forms,Drop Down Menu,我有一个表单下拉框(用于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()”
。这样,当表单上的内容发生变化时,另一个就会更新。哈哈,我不知道为什么我没有想到这一点!我在想,我必须每隔几秒钟或其他什么时间做一些糟糕的功能来检查住宅区。我照你的建议做了,效果很好!谢谢!