У меня есть форма с 5 элементами (три выпадающих списка, дата, текст). Когда я нажимаю кнопку отправки, все элементы формы получают сброс (выпадающий присваивается первому значению, поле даты и текста становится пустым).Сохранять элементы формы, выбранные после формы submit
Я понимаю, почему это происходит - потому что моя страница повторно сгенерирована, все элементы статической формы инициализируются до значения по умолчанию. Теперь, чтобы сохранить выбранные значения элементов формы, мне нужно назначить их элементам формы. Я предвижу делать это в следующих трех направлениях:
Вариант 1
С точки зрения я вернуть выбранные значения обратно в шаблон. Теперь при генерации шаблона сгенерировать варианты шаблонов с использованием шаблонов Джанго для /, если условия (те, которые начинаются с фигурными скобками)
Вариант 2 - Предпочтительные
С точки зрения я верните выбранные значения обратно в шаблон и как-то передайте эти значения в javascript. После этого будет необходимо получить элементы статической формы, используя getElementById и присвоить значения. Тем не менее, я не уверен, как передать переданное значение javascript. Или я должен написать сценарий в самом шаблоне?
Вариант 3
Использовать кэш - не менее заинтересованы
Что вы предлагаете, я должен делать? Есть ли еще один 4-й вариант, который лучше и приятнее? Подача форм и сохранение значений формы являются важной частью веб-разработки. Поэтому я надеюсь, что может быть лучший способ.
EDIT: Я не использую модель модели django. Скорее я использую простую форму html и вызываю представление на submit (post)
ohh на самом деле я не использую ModelForm. Я просто написал простую html-форму и передал ее в представление, используя сообщение. –
Это не должно меняться, пока вы поставляете форму с запросом.POST в соответствии с моим первым примером. Если вы сделаете это, представленные значения будут сохраняться после каждого успешного запроса (в).Если вы хотите, чтобы они сохранялись для последующих запросов GET, вам придется их где-то хранить и поставлять с помощью параметра 'initial'. – Simon