Autor Zpráva
gardener
Profil
Zdravim, chtel bych se zeptat, jestli nekdo netusi, kde bych si mohl neco precist o tom, jak predavat hodnoty z formulare mezi jednotlivymi okny, resp. taby prohlizece.
Priklad>
Otevru pop-up okno z rodicovskeho tabu
Vyberu produkt
Odeslu hodnotu do rodice(bud do URL jako header location, nebo vlozim do formu)
Zavru okno


Diky za kazdou radu
Shulík
Profil
Minimálně ve FF mi to fungovalo následujícím způsobem:

V základním okně si vytvoříš funkci:
function setInputValueFromPopup(input, value){
var el=document.getElementById('input');
el.value=value;
}


a v popupu to bude vypadat asi takto:

<img src='obrazek' alt='zahradni_ryc' onclick="window.opener.setInputValueFromPopup('zbozi', this.alt);" />
gardener
Profil
Ono to nemusí být nutně pop-up okno, úplně bude dostačovat vytvořit nový tab a na ten pak zavolat po kliku a předání hodnot window.close().

Shulík vyzkouším, ale zajímalo by mne, jak bych docílil vložení url do adresního řádku rodičovkého okna a reload stránky na toto URL.
Nebo to musím řešit pomocí header location?
Bubák
Profil
gardener:
Nebo to musím řešit pomocí header location?
Pokud myslíš location.href, tak ten, pochopitelně jen v rámci domény, funguje spolehlivě.
Chamurappi
Profil
Reaguji na Shulíka:
Není nezbytné dělat speciální funkci, onclick="window.opener.document.getElementById('zbozi').value = this.alt;" poběží také.


Reaguji na gardenera:
Jak upozorňuje Bubák, obecně platí, že komunikace mezi okny/taby/rámy funguje jen v rámci stejné domény.

jak predavat hodnoty z formulare mezi jednotlivymi okny
Nejsnazší je vyplnit formuláři patřičný target.

jak bych docílil vložení url do adresního řádku rodičovkého okna
Stejně jako do stávajícího okna, akorát na openeru.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: