11.05.2017, 13:46
|
Интересующийся
|
|
Регистрация: 11.05.2017
Сообщений: 27
|
|
Это на первой странице
<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 должно передаваться из одного инпута в второй функцией
|
|
11.05.2017, 13:52
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Что значит это на первой, а это на второй?
Если вам надо на второй странице к принятым данным формы из первой страницы еще что-то добавить, то это уже не имеет отношение к калькулятору. Добавляйте, какие проблемы, форму от калькулятора то вы получили уже.
|
|
11.05.2017, 14:02
|
Интересующийся
|
|
Регистрация: 11.05.2017
Сообщений: 27
|
|
Попробую яснее.
Есть калькулятор из 5 шагов (index.php), в нем клиент клацает на инпуты, вот ссылка
http://new.igrology.com/
так же есть файл сметы (smeta.php), в которую заносятся данные инпутов с калькулятора.
В конце шагов в калькуляторе, файл сметы с введенными данными конвертируется в пдф и оправляется клиенту на почту.
Так вот, функция передачи значения инпута не видит файл сметы, как это можно решить
|
|
11.05.2017, 14:21
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
У вас пошаговый сбор информации, но нет формы.
Элементы формы можно описывать и вне ее тега, то есть, если не удобно так в верстке:
<form>
секции с элементами формы
</form>
то можно и так:
секции с элементами формы, и у элементов указывается связь с формой как form="идентификатор формы"
<form id="идентификатор формы" action="url передачи"><button>Оправить</button></form> - разместив этот код где удобно, в конце всей баталии (заполнения) к примеру.
Заполнили форму, отправили, на странице получателе получили.
|
|
11.05.2017, 14:24
|
Интересующийся
|
|
Регистрация: 11.05.2017
Сообщений: 27
|
|
Через просто action получается, но страница перезагружается. А через ajax страница не перезагружается но смета не получает данные
$("#up1").submit(function(e) {
e.preventDefault();
var up1 = $(this).serialize();
$.ajax({
type: "POST",
url: "../smeta.php",
data: up1,
success: function(){
}
});
});
|
|
11.05.2017, 14:30
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Если вам надо асинхронным запросом передать форму, то data: $(this).serialize(), это и есть ее передача. Вот только в коде я не видел тега формы (хотя не углублялся сильно). Но если она есть, и отправляется, то либо "../smeta.php" неверный, либо на на сервере в smeta.php проблемы. Отладчик же в браузере есть, проверить то можно.
|
|
11.05.2017, 14:35
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Проверил ваши запросы - первый асинхронный запрос не отправляет параметров, второй только форму с личными данными, причем не проверяя ничего. Разберитесь с формами - если выбор и личные данные, это две формы, значит нужно либо "склеить" их данные, либо, что проще, иметь одну форму, у вас же все на одной странице.
|
|
11.05.2017, 14:36
|
Интересующийся
|
|
Регистрация: 11.05.2017
Сообщений: 27
|
|
а в функции нельзя что то такое указать, что бы она увидела в какой файл должно переходить value? так было бы проще
|
|
11.05.2017, 14:49
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Какой функции? Можно конечно получить коллекцию всех полей ввода на странице, обойти эту коллекцию циклом, получить их значения и имена, и сформированные данные отправить.
Но разве не проще сделать простое - перенести открывающий тег формы личных данных до первого поля выбора?
И достаточно будет $(this).serialize().
|
|
11.05.2017, 14:52
|
Интересующийся
|
|
Регистрация: 11.05.2017
Сообщений: 27
|
|
вроде понял) спасибо)
|
|
|
|