мой вариант использования:
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;
}