Как взять значения из отключенного поля для вставки?

#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 совершенно не нужен.