Поля формы не отправляет данные

есть ли способ (с флагом атрибута или что-то в этом роде) включить поля формы, которые отключены для отправки данных?

или, если это невозможно, есть ли способ заблокировать поля от редактирования с помощью css или любого другого атрибута, кроме disabled, не скрывая их?

мой частный случай на данный момент является идентификатором для набора данных, который должен быть показан в форме (uneditable) - если нет лучшего решения, я думаю, что буду использовать скрытое поле в дополнение к отключено, чтобы удерживать фактическое значение с отключенным, показывая его.

5 ответов


проверка атрибута readonlyhttp://www.w3schools.com/tags/att_input_readonly.asp


С ЭЛЕМЕНТАМИ Disabled атрибут не отправлен или вы можете сказать, что их значения не разнесены.

то есть

<input type="textbox" name="Percentage" value="100" disabled="disabled" /> 

кстати,

  1. отключенные элементы управления не получают фокус.
  2. отключена пропускаются в нашивая навигации.
  3. отключенные элементы управления не могут быть успешно размещены.

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

то есть

<input type="textbox" name="Percentage" value="100" readonly="readonly" />

кстати,

  1. элементы только для чтения получают фокус, но не могут быть изменены пользователем.
  2. элементы только для чтения включены в навигацию по вкладкам.
  3. элементы только для чтения успешно разнесены.

Примечание: READONLY не работает на флажках и выберите теги

Ref from


как уже было сказано: READONLY не работает <input type='checkbox'> и <select>...</select>.

если у вас Form с отключенными флажками / выбирает и нужно их представить, вы можете использовать jQuery:

$('form').submit(function(e) {
    $(':disabled').each(function(e) {
        $(this).removeAttr('disabled');
    })
});

этот код удаляет disabled атрибут из всех элементов на submit.


используйте CSS pointer-events:none в полях, которые вы хотите "отключить" (возможно, вместе с серым фоном), который позволяет действие POST, например:

<input type="text" class="disable">

.disable{
pointer-events:none;
background:grey;
}

Ref:https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events


мы также можем использовать readonly только с под атрибутами -

readonly onclick= ' return false;'

Это потому, что если мы будем использовать только для чтения, то переключатели будут редактироваться. Чтобы избежать этой ситуации, мы можем использовать readonly с вышеуказанной комбинацией. Это ограничит редактирование, и значения элемента также будут передаваться во время отправки формы.