Найти - Пользователи
Полная версия: ajax
Начало » Django » ajax
1 2 3 4
Ferroman
/Упс, плохо посмотрел/

Предавайте путь для action-формы в шаблон (request.get_full_path).
Igor Shmigoff
Ferroman
Предавайте путь для action-формы в шаблон (request.get_full_path).
Ferroman не понял. Расшифруйте/разжуйте.
И сразу вопрос в догонку - после загрузки файла того или иного сорта в динам фрейме (как в примере на ajaxdaddy…) хочу чтоб ответ о том что все ок ришел именно в этот же фрейм, ане обновлял страницу полностью. Понимаю, что аякс, но как и где в данном случае прикрутить, имея в расположении форму для загрузки файла и фрэйм?
Ferroman
Что-то я не вижу никакого фрейма в вашем коде.
Igor Shmigoff
Ferroman, здесь подзагружается страница с формой во фрейм (или в элемент с id=“contentContainer”):
$('#panorama_add').click(function () {
$("#contentContainer").load("http://localhost:8000/My_project/upload/panorama/");
});
когда файл панорамы загружен на сервер, то хочется, чтоб в этом же #contentContainer появилось бы “ОК” о том, загружен ли файл и можно было б загружать контент дальше (типа вызвал article1, все что нужно сделал, потом article2… (example from ajaxdaddy.com/demo-dynamic-content.html), т.е. спускаясь ниже по
<div id="contentContainer">
<ul id=contentList" class="contentList">
<li id="add_panorama">Panorama adding</li>
<li id="add_photo">Photo adding</li>
<li id="add_descr">Description adding</li>
<li id="...">adding smth</li>
</ul>
</div>
)

Короче, в каком то окне - в каком то элементе html страницы, с помощью конструкции jQuery .click&.load (как подсказал Ferroman
) выгружаю необходимый урл с формой загрузки файла на сервер. Далее, ввожу и заполняю поля формы. Жму кнопку сабмит=аплоад на форме. Если сделать в action формы, что Ferroman
написал и исправил, то работает, но форма то универсальная. Ваш комментарий Ferroman о request.get_full_path просто не понял.
Я смотрел метод .ajax() в jquery lib - думаю дело в нем, чтоб сделать так чтоб после отправки корректной формы на сервер ответ сервера типа страницы html с содержимым “Закачано ок” был в том же окне (без обновления всей страницы) ложится на этот метод. Хотя пока я и не уверен, и можно ли сделать проще.
Ferroman
Между контейнером и фреймом - очень больша разница.
Загружайте нужный вам action формы вместе с формой (например можно использовать request.get_full_path для получения реального урла по которому была сгенерина форма. Но можно и как-то по-другому).
Но у меня стойкое ощущение что Вы свою задачу не так решаете. Правда это догадка, я же не знаю что именно вы хотите сделать.
Igor Shmigoff
Ferroman
Задача такая какая и была.
Добавляю объяву. Появляется форма, справа элементы, кликая по которым в #contentContainer появляется страница-форма загрузки контента того или иного типа. Нажал на “Добавить панорамы” - появляется форма загрузки видео. Выбрал что необходимо, заполнил форму, нажал на кнопочку - файл загрузился, в том же контейнере появилась надпись “ok”. Далее, если хочу, жму добавить панораму, или иду вниз по списку и жму “Добавить картинку” - и в том же #contentContainer появляется форма для загрузки картинки. И т.д. Т.е. оборачиваю объяву содержимым.
Не хочу оспаривать модели, просто на данном этапе, благодаря Вам Ferroman та или иная форма загрузки подгружается в контейнер. А вот дальше проблема - файл не закачивается - после заполнения формы и попытки отправки (нажатия на кнопку (<input type=“submit” name=“submit” value=“Upload” id=“submit”>)) - страница просто обновляется (вся а не ее часть). Если же в форму добавить: <form action="http://localhost:8000/My_project/upload/panorama/“> в шаблоне, то файл загружается, но обновляется вся страница снова. С другой стороны форма загрузки файлов у меня универсальная. Можно для каждого вида контента делать <form action=”http://localhost:8000/My_project/upload/image/“>, <form action=”http://localhost:8000/My_project/upload/text/"> … но как то не комильфо.
Но проблема все же еще и в том, повторюсь, что ответ с сервера, типа
url(r'^upload/panorama/ok/$', 'django.views.generic.simple.direct_to_template',
{'template': 'ok.html'}),
не выгружается в тот же в контейнер (и это понятно, тока как перехватить этот урл и подставить опять же в тот контейнер? Наверняка как то через .load)
и без прописки form action ваще ниче не закачивается.
razum2um
Ferroman
внезапно похожий случай, не делаю топик ибо вопрос на теьу
Загружайте нужный вам action формы вместе с формой (например можно использовать request.get_full_path для получения реального урла
в шаблоне у формы которая попадает на стр после .load($(..).attr('href'))
стоит action={% url … %}

проблема неполучается снять редирект на этот action ни
.ajaxForm({ beforeSubmit: function() {
$(this).ajaxSubmit();
return false;
},
success:function() {
return false;
}});
ни
.submit(function() {
$(this).ajaxSubmit();
return false;
})
ни

function ajaxSubmit() {
var form = $(this).parents('form');
$.post($(form).attr('action') , $(form).serialize());
}
и назначением bind('click', ajaxSubmit) кнопке

получается нельзя передавать урл для поста формы в action? а как?
Ferroman
razum2um
Сделайте отдельную тему.
Igor Shmigoff
Если вам надо сабмитить файлы без перезагрузки страницы, то Вы выбрали неверный подход. И явно не понимаете как происходит сам процесс сабмита форм.
Завтра объясню подробнее.
Igor Shmigoff
Ferroman
Ок, спасибо, жду
Igor Shmigoff
Кстати, всех с Наступающим!!!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB