Являются ли отключенные элементы формы переменной _POST пустыми на стороне сервера?

У меня есть следующий элемент формы <input>:

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

Странно, но это не возвращается на сервер как переменная $_POST['serviceCode']. Я что-то упустил или «отключенные» элементы формы ввода не возвращаются на сервер?


person H. Ferrence    schedule 12.05.2016    source источник


Ответы (2)


Отключенные элементы не отправляются на сервер в соответствии со спецификацией:

... он не может принимать пользовательский ввод, и его значение не будет отправлено вместе с формой.

Если вы хотите получить доступ к этим значениям, вы можете рассмотреть возможность создания элемента readonly или сохранения значения в скрытом элементе и использования другого отключенного элемента для его отображения.

person Rion Williams    schedule 12.05.2016
comment
Ну тогда это объясняет. Спасибо @RionWilliams. - person H. Ferrence; 12.05.2016

Да, это верно.

Отключенные элементы формы не отправляются при отправке формы.

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

Атрибут disabled используется, чтобы сделать элемент управления неинтерактивным и предотвратить отправку его значения». Если вы не хотите, чтобы пользователь мог изменять значения, но при этом отправлять их вместе с формой при ее отправке — используйте вместо этого атрибут readonly.

person Aparna    schedule 12.05.2016