0

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

我正在这样做:

<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 中将下拉值设为空。所以这不起作用。请任何建议..

4

3 回答 3

5

只需添加一个隐藏字段,其中包含您希望在禁用控件时接收的值并且与下拉列表名称相同。请务必将其放在 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;
}
于 2012-08-21T09:38:25.933 回答
2

不要依赖从表单中获得的数据。您实际上应该做的是检查服务器端单选按钮是否处于活动状态,并取决于该忽略或接受来自 Dropbox 的值。

于 2012-08-21T09:39:36.497 回答
2

将表单中的值设置为“”,这应该可以解决问题:

<option value="">Annualy</option>

或使用这样的空间(不确定哪个更适合您,没有尝试过):

<option value=" ">Annualy</option>

编辑: 中包含的value="something"数据是通过 get 传递给 URL 的实际数据。因此,如果您将其空白,则数据将不会通过。

于 2012-08-21T09:37:17.790 回答