2012-03-30 4 views
0

Я пишу очень тяжелое приложение Javascript, используя jQuery. Одна из проблем, с которыми я сталкиваюсь, возникает, когда я выполняю записи формы AJAX. Первоначально формы отображаются с сервера шаблонов шаблонов, эти формы имеют значения по умолчанию. Форма имеет два варианта: SAVE и CANCEL (возврат). Когда пользователь нажимает «SAVE», данные формы отправляются на сервер через jQuery. Когда пользователь нажимает «ОТМЕНА», функция Javascript reset() вызывается в форме.Сброс формы AJAX

Настоящая проблема возникает, когда я ввожу/обновляю поля в форме и затем сохраняю ее. Если я затем попытаюсь снова отредактировать форму и нажмите «ОТМЕНА», форма вернется обратно в исходное состояние (состояние формы при первоначальном рендеринге страницы), а не последняя из AJAX submit.

Похоже, что функция reset() Javascript использует атрибуты 'value', 'checked' и т. Д., Которые были установлены на странице render. Если это так, то каков наилучший способ обновить значения форм, чтобы метод reset() вернется к последней точке, в которой я отправил форму через AJAX?

ответ

2

вам нужно будет «перекрасить» формы, чтобы их «начальные значения» были теми, которые находятся на этом AJAX submit. сброс формы зависит от значения, которое пришло, когда элемент был нарисован на странице. here's a demo, чтобы показать концепцию

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