jquery ajax / django -представляет форму в модальном режиме начальной загрузки и повторно -показывает, если проверка не была успешной

мой вариант использования:

a )Представьте форму, загруженную через ajax, в модальном окне начальной загрузки, причудливый эффект наложения.. . Я следовал этим инструкциям .

Это прекрасно работает. (см. код ниже)

b )Отправьте эту форму обратно в мое приложение Django, попробуйте проверить ее, и если она не пройдет проверку, повторно -показать форму с ошибками в причудливом модальном окне начальной загрузки.

Я могу перезагрузить форму через ajax, но я не могу снова представить ее в модальном режиме.

Примечание. :Я не включил это представление, так как оно не делает ничего особенного. Только создание и проверка формы.

Ниже можно много чего прочитать, так что просто продолжайте, если вам кажется, что вариант использования интересен...

Мой taskList.html выглядит так:

Name Edit
Task 1 edit

.js для загрузки формы + отображение модального окна начальной загрузки + привязка формы к вызову отправки.jquery:

$(document).ready(function() {
   modalConnect();
});


ItemForm, возвращаемый из представления, выглядит следующим образом:

Загрузка и отображение модального окна работает нормально. Но теперь идет вторая часть, которая работает не так, как ожидалось. Проблема в следующем. Если форма не проходит проверку,представление возвращает форму. Возвращенная форма должна снова отображаться в модальном окне начальной загрузки. Но в результате в браузере представлена ​​ТОЛЬКО форма, все остальное теряется. Нет css, нет таблицы, только форма. Довольно некрасиво. Таким образом, я не добился обновления ajax _form _modal _result _div. Может ли кто-нибудь помочь мне здесь, что я делаю неправильно..!?

Представление также возвращает функцию js «submitItemModalFormBind», которая предотвращает поведение формы по умолчанию и отправляет форму через ajax.

//ajax bind for update item form visualized via modal function submitItemModalFormBind(){ var url = "{% url updateItem item.pk %}"; $('#ajax_form_modal_result').submit(function(){ $.ajax({ type: "POST", url: "{% url updateTask item.pk %}", data: $(this).serialize(), success:function(response){ var div = $("ajax_form_modal_result_div", response); $('#ajax_form_modal_result_div').html(div); }, error: function (request, status, error) { console.log("failure"); console.log(request.responseText); } }); }); return false; }

9
задан Cœur 11 August 2017 в 15:22
поделиться