2016-05-12 30 views
0

我有以下<input>表單元素:「禁用」_POST變量表單元素是否爲空服務器端?

<input id="serviceCode" name="serviceCode" type="text" placeholder="" class="form-control input-md" required="" maxlength="4" value="T2" disabled=""> 

很奇怪,但這不回來服務器作爲$_POST['serviceCode']變量。我是否缺少某些東西,或者是「禁用」的輸入表單元素沒有傳回服務器?

回答

1

禁用的元素不會發布到服務器as per the spec

...它不能 接收用戶輸入,也將它的值與形式提交。

如果您想要訪問這些值,可以考慮製作元素readonly或將值存儲在隱藏元素中,並使用其他禁用元素來顯示它。

+0

那麼,那就解釋一下吧。謝謝@RionWilliams。 –

0

是的,沒錯。

表單提交時,不會發送禁用表單元素。

http://www.w3.org/TR/html5/forms.html#attr-fe-disabled

disabled屬性用於使控制非交互並防止提交其值「 如果你不希望用戶能夠更改值。 ,但仍然在提交時將它們與表單一起發送 - 請使用readonly屬性。