У меня есть две страницы с формами HTML. Первая страница имеет форму отправки, а вторая страница имеет форму подтверждения. Первая форма предлагает выбор из множества элементов управления, а на второй странице снова отображаются данные из формы отправки с сообщением подтверждения. На этой второй форме все поля должны быть статическими.
Из того, что я вижу, некоторые элементы управления формой могут быть только для чтения
, и все они могут быть отключены
, с той разницей, что вы все еще можете вкладывать в поле только для чтения.
Скорее Чем делать это поле за полем, есть ли способ пометить всю форму как доступную только для чтения / отключенную / статическую, чтобы пользователь не мог изменить ни один из элементов управления?
Вы можете использовать эту функцию, чтобы отключить форму:
function disableForm(formID){
$('#' + formID).children(':input').attr('disabled', 'disabled');
}
См. Рабочую демонстрацию здесь
Обратите внимание, что она использует jQuery.
Я не знаю встроенного способа сделать это, поэтому вам нужно будет придумать индивидуальное решение в зависимости от того, насколько сложна ваша форма. Вам следует прочитать этот пост:
Преобразование HTML-форм в формат только для чтения ( Обновление : неработающая ссылка на сообщение, ссылка на архив )
РЕДАКТИРОВАТЬ: Судя по вашему обновлению, почему вы так беспокоитесь о том, что оно доступно только для чтения? Вы можете сделать это на стороне клиента, но в противном случае вам придется добавить требуемый тег к каждому элементу управления или преобразовать данные и отобразить их как необработанный текст без элементов управления. Если вы пытаетесь сделать его доступным только для чтения, чтобы следующий пост не был изменен, тогда у вас есть проблема, потому что любой может испортить сообщение, чтобы создать то, что он хочет, поэтому, когда вы действительно наконец получите данные, вам лучше проверить их еще раз, чтобы убедиться, что он действителен.
На странице подтверждения не помещайте содержимое в редактируемые элементы управления, просто записывайте их на страницу.
Не существует полностью совместимого, официального HTML способа сделать это, но немного javascript может помочь. Еще одна проблема, с которой вы можете столкнуться, заключается в том, что отключенные поля не отображаются в данных POST
Пронумеруйте все идентификаторы формы и запустите цикл for в JS.
for(id = 0; id<NUM_ELEMENTS; id++)
document.getElementById(id).disabled = false;