Существует ли библиотека javascript (jquery) для обновления элементов управления html-форм из параметров cgi? - PullRequest
0 голосов
/ 19 августа 2010

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

В настоящее время для этого требуется много- затем заявления, чтобы установить элементы управления формы на то, что было отправлено.

Мне интересно, есть ли библиотека (предпочтительно jquery), которая может взять параметры cgi из URL, а затем обновить форму до этих значений уже.Или, если есть более скользкий путь, который я не вижу даже лучше.Мы используем Perl в качестве нашего языка программирования.

Ответы [ 4 ]

2 голосов
/ 20 августа 2010

Сохраняющееся состояние формы обычно достигается не со стороны клиента (JS), а со стороны сервера.В CPAN есть несколько хороших модулей для работы с веб-формами, включая HTML :: FormFu и Form :: Sensible , хотя лично я предпочитаю HTML :: FormHandler .С его помощью вы можете объявить свои поля и все их правила проверки, и модуль проверит форму для вас, организует любые ошибки для каждого поля и поможет вам отобразить все элементы управления формы (включая любые сообщения об ошибках).).Вы получаете выбор контроля над рендерингом, от полностью автоматического макета (удобного для разработки) до ручного макета со встроенными виджетами FormHandler, предоставления пользовательских шаблонов для виджетов, выполнения всех шаблонов самостоятельно и просто использования объекта формы какхранилище значений полей и сообщений.

1 голос
/ 19 августа 2010

http://www.reach1to1.com/sandbox/jquery/testform.html

Этот плагин принимает данные JSON и обновляет форму по желанию.

Этот плагин создает JSON из строки параметра cgi http://benalman.com/code/projects/jquery-bbq/examples/deparam/

Сложите их вместе и добавьте класс к любым формам, к которым вы хотите применить это, и здесь вы переходите в однострочную строку для запуска на doc ready.

function form_presetFromQueryString(){
    $('form.deserialize').deserialize( $.deparam.querystring() );
}
1 голос
/ 19 августа 2010

Вы можете использовать это

$('#myId').load('myCGI.py');

Это

Загрузить данные с сервера и поместить возвращенный HTML-код в соответствующий элемент.

См. jquery load .

0 голосов
/ 19 августа 2010

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

...