PDA

Просмотр полной версии : передача параметров в JavaScript


IVM
04.05.2002, 10:38
Как передать параметр из одного документа в другой?

имеется HTML в скрипте указывается, например:
var M=5
далее по сценарию, должно выполниться обновление в соседнем фрейме загруженного документа.
При его загрузке, должен выполниться сценарий, ход которого зависит от значения переменной M.

Но при загрузке документа, появляется сообщение, что переменная не определена.

Duh
04.05.2002, 11:54
Создай текстовое поле в основном документе....и заноси туда значение М...:) А в его Style поставь Visibility:Hidden.....вроде так пишется....:)Потом при загрузке проверяй значение этого поля...window.<ID или NAME фрейма....того где поле>.<ID или NAME поля>и т.д.....:) пока больше ничего в голову не приходит........теоретически, это должно работать...:)

IVM
04.05.2002, 20:39
Да нашёл я пример в доках, как параметры из формы через атрибут ACTION передавать.
Только както это всё через....:idontnow: , сложно уж через чур.
Неужели нельзя проще передать параметр, как в функции, например, или описав как Глобальную переменную???

Duh
04.05.2002, 22:51
Делай как есть....узнаешь как лучше..переделаешь...:)

IVM
05.05.2002, 06:06
вот и хотелось бы сразу, как лучше, а не через....:confused:

Может кто знает как всёже это делается по человечески???

Mrachik
10.05.2002, 08:37
Просто так прочитать переменную тебе вряд ли удастся, это из соображений безопасности. Ведь если ты сможешь прочесть эту переменную, то сможешь прочесть и переменные окружения, а оперециями присваивания сможешь писать в них :smile:.
Как понимаешь, этого не могли допустить:smile:. Но всеже, если найдешь способ - дай знать, плизз...

helldomain
13.05.2002, 12:34
Okaziwaetsya mojno.
U tebya est index.html s razbiwkoi na freimi (Frm_1 i Frm_2).
w frm1.html
sledujushij kod:

<Script Language="JavaScript">
var ValueToTransfer='Ofiget mojno';
</Script>

Teper kak poluchit eto delo iz frm2.html:
<Script Language="JavaScript">
alert(parent.Frm_1.ValueToTransfer);
</Script>

Uchti tolko, chto k tomu wremeni kogda 2oi skript wipolnyaetsya, perwij uje doljen bit gotov. Wot uluchenij variat wtorogo skripta:

<Script Language="JavaScript">
if (parent.Frm_1.ValueToTransfer != null)
alert(parent.Frm_1.ValueToTransfer);
</Script>

IVM
13.05.2002, 17:47
Сенкс, helldomain:dance:

Всё работате!!!!

helldomain
13.05.2002, 19:46
Smotri, esli ti neuveren w zagruzke funkcij, sdelai tak.

dlya Frm_1:

function InitFrm_2()
{
if (parent.Frm_2.MyFunc != null)
parent.Frm_2.MyFunc(A, B, C);
else window.setTimeout('InitFrm_2();', 1000);
}

Uchti, rabotaet ot IE 4.0.741 i Netscape ot 4.0.0.6


Privetow

Mrachik
15.05.2002, 08:34
Большое спасибо! По идее все просто...

helldomain
15.05.2002, 16:54
LOL. A wse ono prosto i est.

IVM
15.05.2002, 19:11
Чегото не придумаю...
А вот как сделать, чтобы, в зависимости от значения переменной - по гиперссылке в соседний фрейм загружался соответствующий значению переменной документ?
В "href=" условный оператор ведь не вклинить?

может выполнять в <BODY onload=...> загружаемого фрейма какую-либо функцию??? ... наверное это не лучшее решение.

helldomain
15.05.2002, 19:15
Podojdi. Ti hochesh iz perwogo freima wo wtorom otkriwat drugoi dokument.

Scenarij 1:

Frm_1:

parent.Frm_2.MyVar=1;
parent.Frm_2.OpenCorrespondingLocation();


Frm_2:

var MyVar=new Number();

function OpenCorrespondingLocation()
{
switch (MyVar)
{
case 0:{
location.href='http://www.chto-to.com';
break;
}
case 1:{
location.href='http://www.chto-to_drugoe.com';
break;
}
}
}


Scenarij 2:
Frm_1:

parent.Frm_2.location.href='http://a.eto.woobsche.chto-to.com';