Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Переменную из HTML в Django (https://javascript.ru/forum/server/50198-peremennuyu-iz-html-v-django.html)

Kr1o 16.09.2014 14:47

Переменную из HTML в Django
 
Здравствуйте! Я не спец а javascript, а задачу, как я понимаю, реально решить только с его помощью.

Ситуация следующая: имеется восемь блоков с информацией, они генерируются django в шаблон. В каждом блоке есть кнопка, при нажатии на которую открывается funcybox окошко с информацией, какой блок выбрал пользователь и какие данные будут отправлены. После того, как пользователь подтверждает данные и нажимает кнопку в окне, мне нужно эти самые данные передать методом POST в скрипт на python.

В общем реализовал все, кроме передачи этих самых данных в скрипт, потому как полей <input> в форме html нет, а данные надо как-то передать. Чувствую что тут можно спастись javascropt'ом.

Подскажите, как мне это сделать?

Спасибо!

Aetae 16.09.2014 14:51

/google ajax POST

Kr1o 16.09.2014 17:16

Почитал, родил сее безобразие:
<script>
document.getElementById('функция').onsubmit = function() {
        $.post('/функция/', {
                 country: "{{ сгенерированная переменная1 }}",
                 resort: "{{ сгенерированная переменная2 }}",
                 date_start: "{{ сгенерированная переменная3 }}"
             },
             function(data) {
                 alert(data);
             }
        );
        return false;
}
</script>


python скриптом письмо отправляется на почту, но без переменных, значит они так и не доходят до скрипта.

Поправьте, в чем может быть ошибка?

Kr1o 17.09.2014 09:28

Форум мертв?

MallSerg 17.09.2014 09:52

Ты можешь проверить отправляется у тебя POST запрос или нет?

Kr1o 17.09.2014 12:31

Отключил отправку формы по кнопке в html, оставил только код на js, чтобы по клику на submit отправлялся запрос. Письма перестали приходить. Делаю вывод, что post запрос js тупо не идет в скрипт на python...

Kr1o 17.09.2014 12:54

<form method="POST" action="" id="buyoffer">
	<div class="form">
		<h1>ВНИМАНИЕ!</h1>
		<h2>ОТПРАВКА ЗАЯВКИ НЕ ЯВЛЯЕТСЯ БРОНИРОВАНИЕМ</h2>
		<br>
		<div class="reservation">
		<h2>Вы выбрали:</h2>
		<h2>Страна: {{ offer.country }}</h2>
		<h2>Курорт: {{ offer.resort }}</h2>
		<h2>Дата вылета: {{ offer.date_start|date:"d.m, D." }}</h2>
		</div>
		<input type="submit" class="submit" value="ОТПРАВИТЬ">
	</div>
</form>


Вот моя форма, но там нет полей input. Делал все по аналогии с другими реализованными функциями этого сайта.

{{ offer.country }}
{{ offer.resort }}
{{ offer.date_start|date:"d.m, D." }}

вот эти сгенерированные django строки мне надо передать в скрипт python, который лежит по адресу http://site.com/buyoffer

В форме не заполнена ссылка, убрал для проверки отправки с помощью js. Если ссылку заполнить письма приходят, но без данных.

Aetae 17.09.2014 15:22

Ну не знаем мы что у вас там за проблемы, наверняка косячите в чём-то банальном. Покажите чтоли сгенерированый html со script.

Kr1o 17.09.2014 15:38

Все заработало. Я стал динамически генерировать id формы и вставлять его в js. До этого у меня было несколько одинаковых форм, с разными данными, но одинаковым id..

Всем спасибо!


Часовой пояс GMT +3, время: 07:28.