我的表单包含一个单选按钮&下拉列表。因此,根据单选按钮的选定值,我需要启用/禁用下拉菜单。
我在做这个:
<select name="bas_type" id="bas_type" disabled="disabled">
<option value="Monthly">Monthly</option>
<option value="Quarterly">Quarterly</option>
<option value="Annualy">Annualy</option>
</select>
但如果表单被禁用,我想在$_POST中得到空的下拉值。。所以这是行不通的。请提出建议。。
只需添加一个隐藏字段,该字段具有禁用控件时要接收的值,并且与下拉列表的名称相同。请确保将其放在HTML:的下拉列表前
<input type="hidden" name="bas_type" value="" />
<select name="bas_type" id="bas_type" disabled="disabled">
<option value="Monthly">Monthly</option>
<option value="Quarterly">Quarterly</option>
<option value="Annualy">Annualy</option>
</select>
当然,你不应该真的必须这样做,因为在PHP中,你应该至少用这样的辅助函数来接收传入的参数
function param($name, $default = null) {
return isset($_REQUEST[$name]) ? $_REQUEST[$name] : $default;
}
不要依赖从表单中获得的数据。实际应该做的是检查服务器端的radiobutton是否处于活动状态,并根据这个情况忽略或接受dropbox中的值。
将表单中的值设置为",这样就可以完成任务:
<option value="">Annualy</option>
或者使用这样的空间(不确定哪一个更适合你,还没有尝试过):
<option value=" ">Annualy</option>
编辑:value="something"
中包含的数据是通过get传递到URL的实际数据。因此,如果你把它留空,数据就不会被传递。