Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 16.09.2015, 00:35
Аспирант
Отправить личное сообщение для aleksandr8i Посмотреть профиль Найти все сообщения от aleksandr8i
 
Регистрация: 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>


С работы только пришёл...
Ответить с цитированием
  #12 (permalink)  
Старый 16.09.2015, 00:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от aleksandr8i
Вот так выглядит ссылка с которой берутся значения site.ru/?title=значеие1&text=значение2
Чтобы их взять они там должны быть. То есть, либо вы эти параметры передаете на сервер, храните их в сессии под ключами, которые сами определяете, и можно будет в любое время их получить. Либо никуда их не передавать, а запомнить в куках на клиенте (localStorage - можно, но если что-то не так, ваш мусор может остаться на клиенте, что не есть хорошо). Либо передаете на сервер, не сохраняя на нем, а возвращая назад, так как после запроса вы же сразу открываете форму.
Если же отказаться от window.open(), что будет лучше, тем более не нужно будет ни переходов между страницами, ни передачи параметров на сервер, а только запрос доп. данных для формы, которая будет создана на клиенте, ну или отдана уже готовая с последующей вставкой в нее данных объекта.
Ответить с цитированием
  #13 (permalink)  
Старый 16.09.2015, 01:33
Аспирант
Отправить личное сообщение для nesnayka Посмотреть профиль Найти все сообщения от nesnayka
 
Регистрация: 06.09.2015
Сообщений: 61

Сообщение от aleksandr8i
Есть страница в которую интегрирована яндекс карта с мощью апи. Думаю многие знакомы с возможностью размещения на яндекс карте своих объектов, при нажатии на этот самый объект всплывает balloon с содержимым. Вот содержимое balloon мне нужно передать с помощью get на другую страницу сайта, где есть форма
А может проще открыть эту форму не на новой странице, а в pop-up'е на той же? Потом отправить ее аяксом и уведомить пользователя о том что все ок или все пропало.
Так не катит?
Ответить с цитированием
  #14 (permalink)  
Старый 16.09.2015, 10:40
Аспирант
Отправить личное сообщение для aleksandr8i Посмотреть профиль Найти все сообщения от aleksandr8i
 
Регистрация: 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.
Ответить с цитированием
  #15 (permalink)  
Старый 16.09.2015, 10:47
Аспирант
Отправить личное сообщение для aleksandr8i Посмотреть профиль Найти все сообщения от aleksandr8i
 
Регистрация: 16.06.2012
Сообщений: 44

Сообщение от nesnayka Посмотреть сообщение
А может проще открыть эту форму не на новой странице, а в pop-up'е на той же? Потом отправить ее аяксом и уведомить пользователя о том что все ок или все пропало.
Так не катит?
Нет, проще перенаправлять пользователя на новую страницу.
Ответить с цитированием
  #16 (permalink)  
Старый 16.09.2015, 12:00
Аспирант
Отправить личное сообщение для nesnayka Посмотреть профиль Найти все сообщения от nesnayka
 
Регистрация: 06.09.2015
Сообщений: 61

aleksandr8i,
Т.е, значения value1 и value2 у вас уже есть и они передаются в ссылке? Вы просто не знаете как их вытянуть из адресной строки. Так?
Ответить с цитированием
  #17 (permalink)  
Старый 16.09.2015, 12:22
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от aleksandr8i
Может я вас до конца не понимаю, но мне кажется вы усложняете для меня задачу

Ну это как посмотреть. Заказчики также считают, что иметь в базе значения типа "2nd", "4nd", "6nd", ... это простота, а иметь нормальный список значений, который к тому же исключает "человеческий фактор", это усложнение.

window.open() имеет один существенный недостаток, это окно не обязательно сверху всех, такое поведение можно было сделать только в покойном NN. window.open() лучше уж тогда заменить на iframe, если иного не хотите, и это только кажется, что будет сложно, на самом же деле все упрощается.

Мое дело предложить, ваше отказаться, как хотите.

Последний раз редактировалось laimas, 16.09.2015 в 12:25.
Ответить с цитированием
  #18 (permalink)  
Старый 16.09.2015, 12:40
Аспирант
Отправить личное сообщение для aleksandr8i Посмотреть профиль Найти все сообщения от aleksandr8i
 
Регистрация: 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.
Ответить с цитированием
  #19 (permalink)  
Старый 16.09.2015, 12:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

enctype="multipart/form-data" - это лишнее, как и лишнее var data = location.search.substring(1).split('&'); и т.д..

Какой язык на вашем сервере?

PS. И не name="imia", а name="name"
Ответить с цитированием
  #20 (permalink)  
Старый 16.09.2015, 12:53
Аспирант
Отправить личное сообщение для aleksandr8i Посмотреть профиль Найти все сообщения от aleksandr8i
 
Регистрация: 16.06.2012
Сообщений: 44

php
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
fancybox повторное открытие окна! baryshkov jQuery 4 16.06.2015 06:42
Плавное открытие окна. Flashton Элементы интерфейса 3 20.10.2010 16:00
Перехватить открытие окна soprano Events/DOM/Window 0 21.02.2010 01:59
Открытие нового окна без скролбаров без верхнего бара "файл правка вид и тп" Mara Общие вопросы Javascript 2 18.02.2010 15:11
Медленное открытие окна m00 Общие вопросы Javascript 2 02.02.2010 08:23