Как я могу сделать всю форму HTML «только для чтения»?

У меня есть две страницы с формами HTML. Первая страница имеет форму отправки, а вторая страница имеет форму подтверждения. Первая форма предлагает выбор из множества элементов управления, а на второй странице снова отображаются данные из формы отправки с сообщением подтверждения. На этой второй форме все поля должны быть статическими.

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

Скорее Чем делать это поле за полем, есть ли способ пометить всю форму как доступную только для чтения / отключенную / статическую, чтобы пользователь не мог изменить ни один из элементов управления?

129
задан Mark Amery 9 June 2019 в 18:16
поделиться

5 ответов

Вы можете использовать эту функцию, чтобы отключить форму:

function disableForm(formID){
  $('#' + formID).children(':input').attr('disabled', 'disabled');
}

См. Рабочую демонстрацию здесь

Обратите внимание, что она использует jQuery.

7
ответ дан 24 November 2019 в 00:30
поделиться

Я не знаю встроенного способа сделать это, поэтому вам нужно будет придумать индивидуальное решение в зависимости от того, насколько сложна ваша форма. Вам следует прочитать этот пост:

Преобразование HTML-форм в формат только для чтения ( Обновление : неработающая ссылка на сообщение, ссылка на архив )

РЕДАКТИРОВАТЬ: Судя по вашему обновлению, почему вы так беспокоитесь о том, что оно доступно только для чтения? Вы можете сделать это на стороне клиента, но в противном случае вам придется добавить требуемый тег к каждому элементу управления или преобразовать данные и отобразить их как необработанный текст без элементов управления. Если вы пытаетесь сделать его доступным только для чтения, чтобы следующий пост не был изменен, тогда у вас есть проблема, потому что любой может испортить сообщение, чтобы создать то, что он хочет, поэтому, когда вы действительно наконец получите данные, вам лучше проверить их еще раз, чтобы убедиться, что он действителен.

4
ответ дан 24 November 2019 в 00:30
поделиться

На странице подтверждения не помещайте содержимое в редактируемые элементы управления, просто записывайте их на страницу.

6
ответ дан 24 November 2019 в 00:30
поделиться

Не существует полностью совместимого, официального HTML способа сделать это, но немного javascript может помочь. Еще одна проблема, с которой вы можете столкнуться, заключается в том, что отключенные поля не отображаются в данных POST

3
ответ дан 24 November 2019 в 00:30
поделиться

Пронумеруйте все идентификаторы формы и запустите цикл for в JS.

 for(id = 0; id<NUM_ELEMENTS; id++)
   document.getElementById(id).disabled = false; 
1
ответ дан 24 November 2019 в 00:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: