#php
#php
Вопрос:
У меня есть форма, в которой поля ввода отключены, но тем не менее она содержит значения.
Как я могу взять в переменную и вставить. Я пытался:
$value1 = $_POST['test'];
Ответ №1:
Вы не можете. Отключенные поля не отправляются на ваш сервер. Поля доступны только для чтения, поэтому, если вам действительно нужно содержимое поля, вы можете изменить его, чтобы оно было доступно только для чтения, а не отключено.
Ответ №2:
Вы не можете.
Лучшее, что вы можете сделать, это использовать какой-то default value
:
function post( $fieldName, $default = '' )
{
if( !isset( $_POST[ $fieldName ] ) )
{
return $default;
}
else
{
return $_POST[ $fieldName ];
}
}
$value1 = post('test', '0');
Или, как сказал @Arjan, измените свою форму на readonly
:
<input type='text' name='test' readonly="readonly" />
Ответ №3:
Вот как работает disabled
атрибут. Когда элемент управления формой отключен, значение будет игнорироваться при отправке формы, и ключ не будет присутствовать в $_POST
(или $_GET
).
Если вы хотите, чтобы значение присутствовало в отправленных данных, но вы не хотите, чтобы пользователь мог изменять значение на странице (чего, я полагаю, вы пытаетесь достичь), используйте readonly="readonly"
вместо disabled="disabled"
.
Редактировать
У <select>
элемента нет readonly
атрибута. Приведенная выше информация остается в силе, поскольку она будет работать для <input>
s и <textarea>
s.
Решением вашей проблемы здесь было бы отключить select и использовать скрытый ввод для отправки значения обратно на сервер — например
Когда выбор включен:
<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. пожалуйста, попробуйте ответить на вопрос — вопрос касается входных данных, поэтому пример select совершенно не нужен.