我的表单包含一个单选按钮&一个下拉菜单。因此,根据所选的单选按钮值,我需要启用/禁用下拉列表。
我这样做:
<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中将下拉值设置为空。 所以这不会奏效。请提出任何建议..
答案 0 :(得分:5)
只需添加一个隐藏字段,其中包含禁用控件时要接收的值以及与下拉列表相同的名称。请务必将放在下拉列表中
<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;
}
答案 1 :(得分:2)
将表单中的值设置为“”,这应该可以解决问题:
<option value="">Annualy</option>
或使用这样的空格(不确定哪个会更适合你,没有尝试过):
<option value=" ">Annualy</option>
编辑:value="something"
中包含的数据是通过get传递给URL的实际数据。因此,如果将其清空,则数据将不会通过。
答案 2 :(得分:2)
不要依赖从表单中获取的数据。您实际应该做的是检查服务器端是否有无线电按钮处于活动状态,并且取决于忽略或接受来自保管箱的值。