Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Передать переменную другой странице


Автор: begemot125 23.10.2011, 20:45
Вот у меня недавно возник вопрос, как передать переменную в JavaScript на другую страницу? 
Допустим у нас сеть две html страницы 1.html и 2.html и нам надо передать переменную из 1-ой во 2-ю. 

На первой странице делаем ссылку:
<A HREF="2.html?per=HelloWord">Перейти -> 2.html</A>

С первой страницы мы передаем в переменной «per» текстовое значение “HelloWord”

На второй странице нам соответственно надо принять эту переменную и вытащить из нее содержимое в виде строки.
Для этого вставляем во вторую страницу функцию представленную ниже.

function param(Name)
{
var Params = location.search.substring(1).split("&");
var variable = "";
for (var i = 0; i < Params.length; i++)
{
if(Params[i].split("=")[0] == Name)
{
if (Params[i].split("=").length > 1)
variable = Params[i].split("=")[1];
return variable;
}}
return "";
} 

И самое последнее - вызываем ее, где для входящего параметра указываем имя переменной, в нашем случае это “per”. 
Далее алертим ее, для того что бы просмотреть что в ней находиться, в переданной переменной.

var select=param("per");
alert(select); 

Вопрос - как получить переменную не в alert, а в текстовом поле формы?

Автор: bars80080 23.10.2011, 22:34
Цитата(begemot125 @  23.10.2011,  20:45 Найти цитируемый пост)
Вопрос - как получить переменную не в alert, а в текстовом поле формы? 

заметь, что именно этот вопрос не имеет ничего общего с темой "Передать переменную другой странице" и вышеозвученным текстом

Код

<input id="field" />


Код

var select=param("per");
document.getElementById('field').value = select;

Автор: begemot125 24.10.2011, 08:49
Огромное спасибо! все работает.

Но только вот есть одно НО!

При передаче параметра, состоящего из одного слова без пробелов "HelloWord" - все нормально.
А вот при передаче параметра, состоящего из двух и более слов с пробелами, получается вот такая бяда - "Hello%20Word"

Как сделать так чтобы параметр отображался в поле в своем первоначальном виде - "Hello Word"?

Автор: magelan 24.10.2011, 12:27
Код

unescape( select )

ммм?

Автор: begemot125 25.10.2011, 06:16
что-то я ни как не могу понять,  куда именно в коде нужно вставлять это: smile  
Код

unescape( select )


вы не могли бы поподробнее объяснить? ну или ссылочку скинуть с описанием

Автор: $дмитрий 25.10.2011, 08:09
Цитата

вы не могли бы поподробнее объяснить? ну или ссылочку скинуть с описанием

Не ну это уже http://lmgtfy.com/?q=javascript+unescape smile 

Автор: begemot125 25.10.2011, 10:23
Спасибо  smile ЗАЧЕТНЫЙ прикол   smile 

А как именно в этом случае сделать?
Код

document.getElementById('field').value = select;


я делаю так, как показано здесь - http://www.w3schools.com/jsref/jsref_unescape.asp
Код

document.getElementById(unescape('field')).value = select;

но ничего из этого не выходит!!!!

Уважаемые господа программисты ПОМОГИТЕ ПОЖАЛУЙСТА!!!

Приведите плиззз пример  smile  smile  smile 

Автор: magelan 25.10.2011, 11:12
Зачем вам Яваскрипт? Забейте, может вам надо паять или людьми руководить...

Код

document.getElementById('field').value = unescape(select);

Автор: begemot125 25.10.2011, 11:45
magelan огромное вам мегаспасибо!!!!  smile 

Пойду паять код и руководить яваскриптом!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)