Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Перетащить значение переменной с одной страницы на другую (https://javascript.ru/forum/misc/51203-peretashhit-znachenie-peremennojj-s-odnojj-stranicy-na-druguyu.html)

Antonii 28.10.2014 13:44

Перетащить значение переменной с одной страницы на другую
 
Приветствую!

Нужна помощь:

На странице сайта посетитель выбрал цвет дивана. Скрипт для этого сделан при помощи
<input type="radio" name="A" value="green">
<input type="radio" name="A" value="red">
<input type="radio" name="A" value="blue">

После чего появляется цена:
<input name="zakaz" type="text" size="23" maxlength="23">

Далее, пользователь нажимает <a href="#">ПЕЧАТЬ</a>, должно появиться маленькое окно с красивым дизайном и полученной ценой.

Проблема в том, что цена ну ни как не появляется :(

Как это сделать? Как перетащить полученную переменную на новую мини страничку??

Благодарю за помощь.

ksa 28.10.2014 14:32

Цитата:

Сообщение от Antonii
Как перетащить полученную переменную на новую мини страничку?

Как вариант, передать ее значение в том же УРЛ...

Antonii 28.10.2014 15:24

ksa, будьте добры, покажите на примере. Как это должно быть записано?

ksa 28.10.2014 16:26

Цитата:

Сообщение от Antonii
Далее, пользователь нажимает <a href="#">ПЕЧАТЬ</a>, должно появиться маленькое окно с красивым дизайном и полученной ценой.

А как у тебя после нажатия "появиться маленькое окно"?
Как ты это делаешь? УРЛ там какой-то указываешь?

Или это вообще не окно? Тогда можно просто прочитать значение нужных элементов...

danik.js 28.10.2014 17:38

Цитата:

Сообщение от ksa
Тогда можно просто прочитать значение нужных элементов

Да даже если окно - почему бы не передать значения напрямую?

ksa 29.10.2014 08:21

Цитата:

Сообщение от danik.js
Да даже если окно - почему бы не передать значения напрямую?

Я работаю с серверным скриптом... Т.ч. проще взять из УРЛа.

danik.js 29.10.2014 08:54

ksa, не понимаю о чем ты. Что может быть проще:
var wnd = window.open('...');
wnd.passVariables({x: 'y'});

ksa 29.10.2014 08:58

Цитата:

Сообщение от danik.js
Что может быть проще

Например это

s val=%request.Data("Prm",1)

danik.js 29.10.2014 09:01

ksa, не факт что у него вообще сервер задействован при открытии окна )

ksa 29.10.2014 09:28

Цитата:

Сообщение от danik.js
не факт что у него вообще сервер задействован при открытии окна

Не факт... :yes:
Но ты спрашивал у меня - я тебе за себя и ответил.

Расскажи про метод, что ты показал... А то я не найду его описание. :(
Цитата:

Сообщение от danik.js
wnd.passVariables({x: 'y'});

Если я правильно понял, в переменную окна y запишется значение переменной x?

danik.js 29.10.2014 10:10

Цитата:

Сообщение от ksa
Расскажи про метод, что ты показал... А то я не найду его описание.

Метод ты должен создать сам )

ksa 29.10.2014 10:18

Цитата:

Сообщение от danik.js
Метод ты должен создать сам

Это однозначно "проще" чем прочитать значение из реквеста, или из УРЛа! :D

danik.js 29.10.2014 10:35

ksa, смотря где генерируется страница. Если на сервере - ты прав. А если у него на js все работает?

ksa 29.10.2014 10:39

Цитата:

Сообщение от danik.js
А если у него на js все работает?

Просто передать значения в УРЛ, а потом прочитать их из window.location.search

danik.js 29.10.2014 10:41

ksa, но зачем усложнять? Сначала сформировать, затем спарсить.
Не проще написать wnd.variable = 'x' ?

ksa 29.10.2014 10:52

Цитата:

Сообщение от danik.js
Не проще написать wnd.variable = 'x' ?

Т.е. сделать аналог

<script>
var variable='x';
</script>

на странице окна?
Это ведь так же частный случай с глобальной переменной... Причем не понятно будет ли значение присвоено перед собственно использованием это й переменной в том окне...

ksa 29.10.2014 10:57

Цитата:

Сообщение от danik.js
Не проще написать wnd.variable = 'x' ?

Бивас, тест! (с)

Файл tmp.html

<!DOCTYPE html>
<html>
<head>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
function test(){
	var o=window.open('tmp1.html');
	o.val='Ok';
};
</script>
</head>
<body>
<button onclick='test();'>Test</button>
</body>
</html>


Файл tmp1.html

<!DOCTYPE html>
<html>
<head>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
alert(val);
</script>
</head>
<body>
<p>Test</p>
</body>
</html>


На странице tmp1.html ошибка
Цитата:

Undefined variable: val

ksa 29.10.2014 11:08

А при таком варианте

tmp.html

<!DOCTYPE html>
<html>
<head>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
function test(){
	var val='Ok';
	window.open('tmp1.html?prm='+val);
};
</script>
</head>
<body>
<button onclick='test();'>Test</button>
</body>
</html>


tmp1.html

<!DOCTYPE html>
<html>
<head>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
var val=window.location.search.match(/prm=([^,$]*)/)[1];
alert(val);
</script>
</head>
<body>
<p>Test</p>
</body>
</html>


Уже работает...

danik.js 29.10.2014 11:18

Цитата:

Сообщение от ksa
На странице tmp1.html ошибка

Залей куда-нибудь, давай посмотрим

danik.js 29.10.2014 11:23

Я сам уже залил:
http://pni22.ru/tmp.html

Естесственно, все работает) Почему должно быть иначе - не знаю )

ksa 29.10.2014 11:24

Цитата:

Сообщение от danik.js
Залей куда-нибудь, давай посмотрим

Так чего лить-то... Просто сделай два локальных файла... Запусти tmp.html... Нажми кнопку Test...
Смотри, что произойдет в новом окне...

ksa 29.10.2014 11:25

Цитата:

Сообщение от danik.js
Я сам уже залил:
http://pni22.ru/tmp.html

Естесственно, все работает)

Бивас, тест! (с)

Нажал на твоем ресурсе на кнопку - в новой вкладке получаю все ту же ошибку
Цитата:

Undefined variable: val

danik.js 29.10.2014 11:34

Походу в опере так не сработает.
Ну тут либо ждать события load либо обращаться наоборот, из открываемого окна.

http://pni22.ru/tmp.html

ksa 29.10.2014 11:36

Цитата:

Сообщение от danik.js
Походу в опере так не сработает.

Я как раз с ней и работаю...

ksa 29.10.2014 11:38

Цитата:

Сообщение от danik.js
Ну тут либо ждать события load

Это уже частный случай...

Цитата:

Сообщение от danik.js
либо обращаться наоборот, из открываемого окна

Тут только "глобальные" переменные...


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