Javascript: volat input value z jiné stránky

Od: Datum: 10.05.13 12:31 odpovědí: 2 změna: 10.05.13 19:03

Dobrý den,
Mám stránku kde uživatel zadává (to je v podstatě jedno co) doinputu. Po určité kontrole a stisknutí tlačitka, je-li vše v pořádku otevře se nové okno (window.open). Problém je ten. Že chci v novém okně které se otevře zobrazit obsahy(value) inputu z okna prvního. (Vyčíst obsahy z první stránky jednorázově, pokud zadám do inputu na první stránce třeba 15 a při kliknutí na tlačitko se otevře okno a v tom inputě bude taky 15..) Poradte jak na to.
P.S.-zkoušel jsem následující možnosti:

mywindow=window.open();

document.getElementById(id_druhaStranka).value=document.getElementById(id_prvniStranka).value;

mywindow.opener.document.getElementById(id_druhaStranka).value=document.getElementById(id_prvniStranka).value;

mywindow.onload = function(){mywindow.document.getElementById(id_druhaStranka).value=document.getElementById(id_prvniStranka).value;

A prostě ne a nejde to... Na internetu jsem se nedohledal nic co by mohlo pomoct.. poradte mi pls.


Seznam odpovědí:
 
moment čekejte prosím, probíhá přenos dat...
Zobrazení struktury odpovědí v otázce
Skrytí struktury odpovědí v otázce
Zobrazení struktury odpovědí v otázce

 

Odpovědi na otázku:
Datum: 10.05.13 18:55
avatar

Noo, skoro to máte. Otevření okna:

  1. var qwe = window.open('https://www.poradte.cz');

Přístup z rodičovského okna pro změnu hodnoty v okně novém:

  1. var yxc = qwe.document.getElementById('idNovehoInputu');
  2. + ..kontrola existence prkvu.. a pak
  3. yxc.innerHTML = 'qweyxc';

^toto selže, pokud to budete provádět dříve, než je postavený dom nového okna

Přístup z nově otevřeného okna z onload (nebo obdobných) metody k údajům v rodičovském okně:

  1. asd = window.opener.document.getElementById('idNovehoInputu');
  2. + kontrola..
  3. asd.innerHTML = 'qweyxc';

Ohodnoceno: 2x
 
Datum: 10.05.13 19:03
avatar

Z bůhvíjakého důvodu mi odpověď nejde doplnit. Tak takhle:

Ještě dvě až tři poznámky:

Samozřejmě to nesmí být cross-domain, k tomu byste potřeboval pak ještě navíc aktivní stránku na serveru, která by to přesouvala tam a zpátky.

Mohlo by být vhodnější to předávat querystringem (případně jako část hashe, pokud toho už předáváte moc) nebo v cookies (třeba s generovaným unikátním číslem nebo s něčím, co bude vázáno na session serveru) a v druhém okně to po otevření načíst.

doplněno 10.05.13 19:10:

A pardon, v druhém příkladu má samozřejmě být id starého inputu (v rodičovském okně). První příklad běží ve starém a zapisuje ze starého do nového, druhý běží v novém a zapisuje z nového do starého.

Ohodnoceno: 0x
 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz

 
Copyright © 2004-2016 Poradna Poradte.cz. Všechna práva na poradně Poradte.cz vyhrazena.