Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Передача результата функции jquery на другу страницу (https://javascript.ru/forum/events/68818-peredacha-rezultata-funkcii-jquery-na-drugu-stranicu.html)

WhiteFox 11.05.2017 13:46

Это на первой странице
<ul class="data_wrap">
<li class="data">Дата (ориентировочно)</li>
<li><input type="date" name="data" class="s_data"></li>
</ul>

Это на второй
<input type="text" name="vdata" id="v_data">

value должно передаваться из одного инпута в второй функцией

laimas 11.05.2017 13:52

Что значит это на первой, а это на второй?
Если вам надо на второй странице к принятым данным формы из первой страницы еще что-то добавить, то это уже не имеет отношение к калькулятору. Добавляйте, какие проблемы, форму от калькулятора то вы получили уже.

WhiteFox 11.05.2017 14:02

Попробую яснее.
Есть калькулятор из 5 шагов (index.php), в нем клиент клацает на инпуты, вот ссылка
http://new.igrology.com/
так же есть файл сметы (smeta.php), в которую заносятся данные инпутов с калькулятора.
В конце шагов в калькуляторе, файл сметы с введенными данными конвертируется в пдф и оправляется клиенту на почту.
Так вот, функция передачи значения инпута не видит файл сметы, как это можно решить

laimas 11.05.2017 14:21

У вас пошаговый сбор информации, но нет формы.

Элементы формы можно описывать и вне ее тега, то есть, если не удобно так в верстке:

<form>
секции с элементами формы
</form>

то можно и так:


секции с элементами формы, и у элементов указывается связь с формой как form="идентификатор формы"

<form id="идентификатор формы" action="url передачи"><button>Оправить</button></form> - разместив этот код где удобно, в конце всей баталии (заполнения) к примеру.


Заполнили форму, отправили, на странице получателе получили.

WhiteFox 11.05.2017 14:24

Через просто action получается, но страница перезагружается. А через ajax страница не перезагружается но смета не получает данные
$("#up1").submit(function(e) {
		e.preventDefault();
		var up1 = $(this).serialize();
		$.ajax({
			type: "POST",
			url: "../smeta.php",
			data: up1,
			success: function(){
			}
		});
	});

laimas 11.05.2017 14:30

Если вам надо асинхронным запросом передать форму, то data: $(this).serialize(), это и есть ее передача. Вот только в коде я не видел тега формы (хотя не углублялся сильно). Но если она есть, и отправляется, то либо "../smeta.php" неверный, либо на на сервере в smeta.php проблемы. Отладчик же в браузере есть, проверить то можно.

laimas 11.05.2017 14:35

Проверил ваши запросы - первый асинхронный запрос не отправляет параметров, второй только форму с личными данными, причем не проверяя ничего. Разберитесь с формами - если выбор и личные данные, это две формы, значит нужно либо "склеить" их данные, либо, что проще, иметь одну форму, у вас же все на одной странице.

WhiteFox 11.05.2017 14:36

а в функции нельзя что то такое указать, что бы она увидела в какой файл должно переходить value? так было бы проще

laimas 11.05.2017 14:49

Какой функции? Можно конечно получить коллекцию всех полей ввода на странице, обойти эту коллекцию циклом, получить их значения и имена, и сформированные данные отправить.
Но разве не проще сделать простое - перенести открывающий тег формы личных данных до первого поля выбора?

И достаточно будет $(this).serialize().

WhiteFox 11.05.2017 14:52

вроде понял) спасибо)


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