16.09.2015, 00:35
|
Аспирант
|
|
Регистрация: 16.06.2012
Сообщений: 44
|
|
Сообщение от nesnayka
|
aleksandr8i,
laimas имеет в виду, что если параметры "некоего предмета" содержатся в БД, то на "следующую страницу" вам достаточно в скрытое поле get-ом передать ID этого предмета из БД, а при отправке письма в РНР скрипте вытянуть все нужные параметры по этому идентификатору и вставить их в тело письма, которое придет к менеджеру.
|
параметры в бд не хранятся. Есть страница в которую интегрирована яндекс карта с мощью апи. Думаю многие знакомы с возможностью размещения на яндекс карте своих объектов, при нажатии на этот самый объект всплывает balloon с содержимым. Вот содержимое balloon мне нужно передать с помощью get на другую страницу сайта, где есть форма, поместить содержимое balloon,
первое значение в input value=" Дом" с id="adres" второе в input value=" Cтатика" с id="title"
Вот так выглядит ссылка с которой берутся значения site.ru/?title=значеие1&text=значение2
вот так выглядт форма:
<form action="/form" method="post" enctype="multipart/form-data" id="order">
<div class="xinput">
<label for="title">Значение2</label>
<input kl_virtual_keyboard_secure_input="on" name="adres" id="adres" value="" type="text">
</div>
<div class="xinput">
<label for="text2">Значение1</label>
<input kl_virtual_keyboard_secure_input="on" name="title" id="title" value="" type="text">
</div>
<div class="xinput">
<label for="email">*Email</label>
<input kl_virtual_keyboard_secure_input="on" name="email" id="email" value="" type="text">
</div>
<div class="xinput">
<label for="imia">Имя</label>
<input kl_virtual_keyboard_secure_input="on" name="imia" id="imia" value="" type="text">
</div>
<div class="input" style="display:none;">
<input kl_virtual_keyboard_secure_input="on" name="captcha" value="" type="text">
</div>
<div class="submit">
<input value="c841a093397c245c1c7c2083f467a176" name="cms_token" type="hidden"> <input value="Отправить" type="submit">
</div>
</form>
С работы только пришёл...
|
|
16.09.2015, 00:56
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от aleksandr8i
|
Вот так выглядит ссылка с которой берутся значения site.ru/?title=значеие1&text=значение2
|
Чтобы их взять они там должны быть. То есть, либо вы эти параметры передаете на сервер, храните их в сессии под ключами, которые сами определяете, и можно будет в любое время их получить. Либо никуда их не передавать, а запомнить в куках на клиенте (localStorage - можно, но если что-то не так, ваш мусор может остаться на клиенте, что не есть хорошо). Либо передаете на сервер, не сохраняя на нем, а возвращая назад, так как после запроса вы же сразу открываете форму.
Если же отказаться от window.open(), что будет лучше, тем более не нужно будет ни переходов между страницами, ни передачи параметров на сервер, а только запрос доп. данных для формы, которая будет создана на клиенте, ну или отдана уже готовая с последующей вставкой в нее данных объекта.
|
|
16.09.2015, 01:33
|
Аспирант
|
|
Регистрация: 06.09.2015
Сообщений: 61
|
|
Сообщение от aleksandr8i
|
Есть страница в которую интегрирована яндекс карта с мощью апи. Думаю многие знакомы с возможностью размещения на яндекс карте своих объектов, при нажатии на этот самый объект всплывает balloon с содержимым. Вот содержимое balloon мне нужно передать с помощью get на другую страницу сайта, где есть форма
|
А может проще открыть эту форму не на новой странице, а в pop-up'е на той же? Потом отправить ее аяксом и уведомить пользователя о том что все ок или все пропало.
Так не катит?
|
|
16.09.2015, 10:40
|
Аспирант
|
|
Регистрация: 16.06.2012
Сообщений: 44
|
|
Сообщение от laimas
|
Чтобы их взять они там должны быть. То есть, либо вы эти параметры передаете на сервер, храните их в сессии под ключами, которые сами определяете, и можно будет в любое время их получить. Либо никуда их не передавать, а запомнить в куках на клиенте (localStorage - можно, но если что-то не так, ваш мусор может остаться на клиенте, что не есть хорошо). Либо передаете на сервер, не сохраняя на нем, а возвращая назад, так как после запроса вы же сразу открываете форму.
Если же отказаться от window.open(), что будет лучше, тем более не нужно будет ни переходов между страницами, ни передачи параметров на сервер, а только запрос доп. данных для формы, которая будет создана на клиенте, ну или отдана уже готовая с последующей вставкой в нее данных объекта.
|
Может я вас до конца не понимаю, но мне кажется вы усложняете для меня задачу, думаю это связано с тем что вы давно программируете а я так любитель... ну да ладно.
Меня полностью устаревает то что передаются значения по ссылке, тот скрипт который выше выкладывался делает почти то что мне нужно вот на скрине посмотрите, результат. Все что бы я хотел это что бы этот скрипт обрабатывал не одно значение, а все. А после помешал значение в input value"значение1" | input value"значение2". Просто что бы пользователю попав на страницу с формой не нужно было писать самому эти значения: input value"значение1" | input value"значение2"
http://i.imgur.com/WUAo99l.jpg?1
Может я не очень понятно изъясняюсь, прошу прощения если это так. И прощу помочь мне дописать скрипт.
Последний раз редактировалось aleksandr8i, 16.09.2015 в 10:42.
|
|
16.09.2015, 10:47
|
Аспирант
|
|
Регистрация: 16.06.2012
Сообщений: 44
|
|
Сообщение от nesnayka
|
А может проще открыть эту форму не на новой странице, а в pop-up'е на той же? Потом отправить ее аяксом и уведомить пользователя о том что все ок или все пропало.
Так не катит?
|
Нет, проще перенаправлять пользователя на новую страницу.
|
|
16.09.2015, 12:00
|
Аспирант
|
|
Регистрация: 06.09.2015
Сообщений: 61
|
|
aleksandr8i,
Т.е, значения value1 и value2 у вас уже есть и они передаются в ссылке? Вы просто не знаете как их вытянуть из адресной строки. Так?
|
|
16.09.2015, 12:22
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от aleksandr8i
|
Может я вас до конца не понимаю, но мне кажется вы усложняете для меня задачу
|
Ну это как посмотреть. Заказчики также считают, что иметь в базе значения типа "2nd", "4nd", "6nd", ... это простота, а иметь нормальный список значений, который к тому же исключает "человеческий фактор", это усложнение.
window.open() имеет один существенный недостаток, это окно не обязательно сверху всех, такое поведение можно было сделать только в покойном NN. window.open() лучше уж тогда заменить на iframe, если иного не хотите, и это только кажется, что будет сложно, на самом же деле все упрощается.
Мое дело предложить, ваше отказаться, как хотите.
Последний раз редактировалось laimas, 16.09.2015 в 12:25.
|
|
16.09.2015, 12:40
|
Аспирант
|
|
Регистрация: 16.06.2012
Сообщений: 44
|
|
Сообщение от laimas
|
Ну это как посмотреть. Заказчики также считают, что иметь в базе значения типа "2nd", "4nd", "6nd", ... это простота, а иметь нормальный список значений, который к тому же исключает "человеческий фактор", это усложнение.
window.open() имеет один существенный недостаток, это окно не обязательно сверху всех, такое поведение можно было сделать только в покойном NN. window.open() лучше уж тогда заменить на iframe, если иного не хотите, и это только кажется, что будет сложно, на самом же деле все упрощается.
Мое дело предложить, ваше отказаться, как хотите.
|
Не придал я почему-то значение, тому что вы в предыдущих сообщениях писали про window.open() - забудьте про эту функцию Я извиняюсь что я сразу вам этого не сказал Вообще забудьте про первое сообщение(первый скрипт) Извиняюсь и еще раз извиняюсь...
после сообщения nesnayka я понял что есть варианты гораздо проще и нашёл скрипт который делает то что мне нужно и выложил его сюда во втором сообщении.
А пользователя я перенаправляю на другую страницу просто, с помощью ссылки вот такого вида:
<a href="/feedback?title=значение1&text=значение2" class="g-btn_l">Заказать</a>
Как видите здесь нет не каких popup окон.
На данный момент сделал через get отправляю данные просто подставив их в ссылку title=Cтатика&text=Дом
Вот так извлекаю значения уже на странице c формой:
<script type="text/javascript">
var data = location.search.substring(1).split('&');
while(d = data.shift()) {
d = d.split('=');
s = 'Key: ' + d[0] + ', Value: ' + d[1] + '<br>';
}
document.getElementById('name').innerHTML = decodeURI(s);
</script>
Но почему то за место двух переменных обрабатывается одна, и еще нужно значения из переменных разбить по input(ам) т.е поместить первое значение в input value="Дом" с id="adres" второе в input value="Cтатика" с id="title"
Последний раз редактировалось aleksandr8i, 16.09.2015 в 12:42.
|
|
16.09.2015, 12:51
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
enctype="multipart/form-data" - это лишнее, как и лишнее var data = location.search.substring(1).split('&'); и т.д..
Какой язык на вашем сервере?
PS. И не name="imia", а name="name"
|
|
16.09.2015, 12:53
|
Аспирант
|
|
Регистрация: 16.06.2012
Сообщений: 44
|
|
php
|
|
|
|