Autor Zpráva
Papiš
Profil
Dobrý den.
Prosím potřeboval bych poradit jak udělat následující věc...

Z jednoho okna si javou otevřu jiné:
okno = window.open("http://www.web.cz/stranka.htm", "okno", "")

A teď bych potřeboval uložit nějakou hodnotu do textového pole, které je na té nově otevřené stránce,
a také umět hodnotu z tohoto textového pole přečíst a uložit do proměné.

Když zkusím toto(p1 je id onoho textového pole):
okno.document.getElementById('p1').value = "ahoj"
tak to nejde a ve stavovém řádku IEv6 to píše "Přístup byl odepřen."
To samé to píše, když se z toho pole pokusím číst,
nebo když se pokusím použít na to nově otevřené okno: okno.scroll()
Přitom metody focus() , blur() , close() , open() na to fungujou v pohodě.
Prosím poraďte mi někdo.
Děkuji.
Dero
Profil
Nemůžeš manipulovat s obsahem otevřeného okna, pokud se jeho obsah nenachází na stejně doméně jako skript, který okno otevřel. Říká se tomu cross-site scripting a přestože existují metody, jak to obejít, příliš to nedoporučuji.

focus(), blur(), open() a close() fungují, protože se vážou k objektu okna, nikoliv jeho obsahu.
Alphard
Profil
jen doplním
Z jednoho okna si javou otevřu jiné:
okno = window.open("http://www.web.cz/stranka.htm", "okno", "")


javascript != java
Papiš
Profil
[i]Nemůžeš manipulovat s obsahem otevřeného okna, pokud se jeho obsah nenachází na stejně doméně jako skript, který okno otevřel. Říká se tomu cross-site scripting a přestože existují metody, jak to obejít, příliš to nedoporučuji.
focus(), blur(), open() a close() fungují, protože se vážou k objektu okna, nikoliv jeho obsahu.[/i]

Ano, děkuji za odpověď.
Ale v mém případě se obě okna na stejné doméně nacházejí.
(to www.web.cz/stranka.htm sem si vymyslel takže jestli existuje je to náhoda)
První okno je třeba www.web.cz/stranka1.htm a druhé www.web.cz/stranka2.htm
Uvedu raději konkrétně na co to potřebuji.
Mněl sem takovou představu, že by zákazník kliknul na jedné mojí stránce na objednávací číslo produktu, následně
by se otevřela objednávka, kde by se do patřičného řádku-textového pole vyplnilo objednávací číslo. To je vše.
Jediné co mi nefunguje je právě to vložení čísla....píše to Přístup byl odepřen, jak sem výše popisoval, nevím proč.
Dero
Profil
Papiš: Předáváš funkci open relativní nebo absolutní adresu ke stránce?
peta
Profil
Papiš
1. display:block; display:none;
2. take muzes window.open(URL.php?parametry), parametry normalne zpracujes (GET -> cookies, php, session, sql)
3. Mozna window.opener (jakpsatweb - javascript - objekt window)
4. JS Ajax request = odesilani stranky na pozadi javascriptem

nestaci pouzit klasicke HTML + PHP ?
<a href=kosik.php?action=add&id=5 target="kosik">
akce = pridej ; id = cislo zbozi -> GET -> SQL -> Data -> SESSION++
pri uspesnem odeslani kosiku na mail smazes sesny

http://www.volny.cz/peter.mlich/www.htm#mssub11
JS+Cookies Nakupni kosik (3k+2k+3k) JS cookies
podobne reseni pres JS COOKIES (kdyz je ake uzivatel nema povolene, kosik nefunguje)
Papiš
Profil
Děkuji za všechny rady a tipy, už sem to vyřešil.
Důvod proč mi to nešlo byl, že sem to spouštěl z pevnýho disku počítače.
Jedna stránka se načetla z disku a druhá ze stránek na netu...to nemůže jít :)
Vubec sem si to neuvědomil. Teď už všechny ty metody šlapou jak maj.
Dero, měl si vlastně pravdu že se obě stránky nenacházeli na stejné doméně.
Takže moc dík všem co jste napsali, a omlouvám se že sem otravoval s takovou blbostí :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0