2011-08-30 44 views
10
<select class="txtbx1" name="country" disabled> 

<option value='FR' >FRANCE</option><option value='CH' selected>SWITZERLAND</option> 
</select> 

上面的代码,其方法是POST

echo $_POST['country']是否显示在另一方面没什么..如果我从选择$_POST['country']删除禁用正显示出正确的结果

表格内
+0

尝试'禁用=“禁用”'而不是 – Teneff

+7

禁用某个字段,它的价值不提交到服务器。 – Guttsy

+0

然后我在这种情况下做什么shud ..我需要禁用字段 –

回答

0

表单标签的外观如何?你可能已经忘记了method="post"属性...

+0

不,我没有..事情有效,但我没有“禁用”属性 –

21

这是怎么disabled属性适用。当表单控件被禁用时,当提交表单并且该键不会出现在$_POST(或$_GET)中时,该值将被忽略。

如果您希望该值存在于提交的数据中,但您不希望用户能够更改页面上的值(我想可能是您尝试获得的值),请改为使用readonly="readonly"disabled="disabled"

EDIT

<select>元件不具有readonly属性。以上信息仍然如此工作为<input> s和<textarea> s。

解决您的问题,这里将是禁用的选择并使用隐藏的输入值发送回服务器 - 例如

当选择启用:

<select class="txtbx1" name="country"> 
    <!-- options here --> 
</select> 

...而当它被禁用:

<select class="txtbx1" name="country_disabled" disabled="disabled"> 
    <!-- options here, with appropriate value having `selected="selected"` --> 
</select> 
<input type="hidden" name="country" value="value_of_field" /> 
+1

我不认为'只读'在'',但我会更新它关于'