下拉列表是否有类似只读属性的内容


Is there something like readonly property for a dropdown?

我的表单包含一个单选按钮&下拉列表。因此,根据单选按钮的选定值,我需要启用/禁用下拉菜单。

我在做这个:

<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的实际数据。因此,如果你把它留空,数据就不会被传递。