2013-07-01 2 views
0

Я хочу создать форму HTML на сервере. Когда клиент завершает форму и нажимает кнопку отправки, я хочу сохранить форму и данные HTML в одном файле HTML на сервере.Сохранение содержимого HTML-клиента на сервере в виде файла HTML

Лучшее предложение, которое я видел, это использование JavaScript. Используйте скрипт на стороне клиента, который по клику сохранит document.InnerHTML в var, который затем может быть отправлен обратно на сервер.

Это лучший подход, или есть более простой способ?

+0

Как пользователь получит html, отправленный сервером? – dandavis

+0

Зачем это сохранить в виде файла html? ИМО, сохранение данных в базе данных будет лучше. –

+0

В основном моя цель - использовать HTML-формы в качестве механизма документа. Это будет похоже на то, как работают PDF-формы. Как только форма будет завершена, она будет сохранена с содержимым поля в один файл. Это означает, что также будет сохранен контекст ответов пользователей. – terahex

ответ

1

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

Итак, есть два способа сделать это: 1. является Javascript, как вы сказали 2. бы поставить все сгенерированный HTML код в скрытой форме ввода (уже на стороне сервера)

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

0

Я бы не рекомендовал этот путь, потому что я до сих пор большой поклонник сохранения данных в базе данных, но вот в общих чертах о том, что делать:

  1. Пользователь заполняет форму и представляет.
  2. Код на стороне сервера выполняет метод: a. Строка, содержащая шаблон для вашей HTML-страницы с заполнителями для полей. b. Используйте String.Format, чтобы поместить весь пользовательский ввод в правильные места. c. Создайте файл, напишите строку в файл и сохраните. d. Верните имя файла пользователю.

Файлы HTML не такие большие, но все же вы рискуете использовать пространство на жестком диске. Кроме того, вам нужны права на запись, которые приводят к рискам безопасности.

Переход по базе данных: 1. Пользователь заполняет форму и отправляет. 2. Серверный код сохраняет данные в базе данных и возвращает пользователю ссылку (с строкой ввода идентификатора и, возможно, идентификатором пользователя, чтобы помочь с безопасностью). 3. Всякий раз, когда пользователь переходит к ссылке, серверный код повторно заполняет форму идентификатором.

Смежные вопросы