Я буду использовать model.id при обращении к идентификатору таблицы в базе данных и к идентификатору, указанному для элементов в моем html.
У меня есть проект django, где я использую некоторые скрытые поля формы (все формы имеют один и тот же идентификатор прямо сейчас для этого скрытого поля) для размещения model.id. Это прекрасно работает до тех пор, пока model.id известен, когда страница отображается.
Я сейчас пытаюсь изменить процесс, чтобы он работал, когда не указан файл model.id (т. Е. Кто-то решил создать новый экземпляр моей модели). Что касается бэкенда, у меня это работает. Model.id не предоставлен, и представление знает, что оно должно давать пустые формы. На этом этапе я предпочитаю не создавать новый экземпляр модели, как я хочу, только если пользователь действительно вводит что-то в одну из форм.
Если пользователь вводит что-то в форму, то обработка формы создает новый экземпляр модели и передает идентификатор обратно в браузер пользователя. То, что я пытался сделать, это использовать плагин формы jquery, чтобы сохранить возвращаемые данные где-то скрытым, что я бы затем посмотрел и использовал val, чтобы установить все идентификаторы скрытых полей в model.id, который был возвращен, так что следующее поле / form, которую отправляет пользователь, будет знать, что нужно писать в только что созданную модель.
Теперь, глядя на это, я предполагаю, что идея иметь несколько элементов с одним и тем же идентификатором плоха, но я действительно хочу, чтобы они всегда были одинаковыми и имели только скрытые поля для размещения того же Model.id на каждая форма на странице.
Я пытался сделать что-то вроде следующего. Однако только один из идентификаторов на странице фактически получил назначенное значение. Есть ли другой способ достижения этой цели? Что-то, что я должен добавить, чтобы все вхождения id были установлены с чем-то вроде .val (model.id)? Если нет, есть ли у кого-нибудь предложения о том, как это сделать? Может быть, Django предоставляет более чистый способ делать именно то, что я пытаюсь сделать?
Ответ, полученный после отправки формы.
<response>
<the_model_id_brought_back>3732</the_model_id_brought_back>
...
<response>
Код jQuery, пытающийся установить все идентификаторы «id_in_multiple_places» для возвращенного model.id.
jQuery('#descriptionForm').ajaxForm({
target: '#response',
success: function(data) {
the_model_id = jQuery('#response').find("the_model_id_brought_back").html();
jQuery('#id_in_multiple_places').val(the_model_id);
}
});
Чтобы объяснить, почему у меня есть несколько таких форм. Формы состоят из 1 видимого поля. Несколько форм на странице. Когда пользователь покидает поле (что означает, что он также покидает форму), я отправляю эту форму на сервер. Это позволит всегда сохранять их данные, даже если они остановятся на полпути и выбросят свой компьютер из окна. Они могут перейти на другой компьютер и забрать с того места, где остановились.
Спасибо.