Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Odovzdávanie parametrov druhému oknu v PHP

Prajem všetkým pekný Nový rok a hneď začnem otázkou. Určite mnohí poznáte rozhranie OrangePortal so službou Môj Assistent. Ak niekomu chcete poslať SMS, tak sa to robí tak, že vo formulári zadáte text SMS a telefónne číslo. Ak nechcete zadávať číslo, tak klepnete na odkaz, otvorí sa nové okno, v ňom si vyberiete príjemcu SMS a po potvrdení sa zobrazí jeho telefónne číslo v tomto prvom formulári a nové okno sa zavrie. Tento efekt potrebujem dosiahnuť v mojej PHP aplikácii. Potrebujem niečo zadať v novom okne s tým, že sa to vloží do hlavného okna do políčok formulára. Viete mi niekto poradiť ako to urobiť, prípadne ako to nazvať, aby som aspoň mal predstavu ako to nájsť cez Google?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Funkcia showModalDialog je IE only fičúra, ktorá je síce pekná, ale bez nejakej náhrady pre ostatné…
los 01.01.2008 23:45
los
Nefungovalo by jednoduchšie riešenie? window.open sa dá brať ako popup a to môže prehliadač stopnúť.…
msx. 19.03.2008 09:32
msx.
Na pristupovanie k oknu používaš window.parent namiesto opener. V parent je rodičovské okno v prípad…
los 19.03.2008 10:03
los
<form name="form2"> <input type="button" name="button1" value="Doplnenie" onclick="window.opener.doc…
msx. 19.03.2008 10:14
msx.
Operu nemám momentálne k dispozícii, ale určite tam je niekde konzola JavaScriptu, ktorá ti napíše p…
los 19.03.2008 14:35
los
document.forms.form1 To mi neberie už žiadny prehliadač. Nie náhodou toto? document.forms[form1]…
msx. 26.03.2008 13:40
msx.
Skús si prejsť tie stránky validátorom, či tam nie je nejaká iná chyba, kvôli ktorej potom Opera nev…
los 26.03.2008 15:07
los
Tak to máš nejaký iný prehliadač, než všetky, s ktorými som sa doteraz stretol. Beriem späť, to mi… poslední
msx. 26.03.2008 16:20
msx.

Funkcia showModalDialog je IE only fičúra, ktorá je síce pekná, ale bez nejakej náhrady pre ostatné prehliadače nemá na webe zmysel.

V JavaScripte môžeš otvoriť nové okno metódou window.open a v ňom môžeš pristupovať k oknu, ktoré ho otvorilo, prostredníctvom vlastnosti window.opener.

Nefungovalo by jednoduchšie riešenie? window.open sa dá brať ako popup a to môže prehliadač stopnúť. Škúšam toto a nefunguje to (neprepíše hodnotu text1):

aaa.htm

<form name="form1">
  <input type="text" name="text1" value="aaa"><br>
  <a href="bbb.htm" target="_blank">Doplnenie</a>
</form>

bbb.htm

<form name="form2">
  <input type="button" name="button1" value="Doplnenie" onclick="window.parent.document.form1.text1.value='bbb';">
  <input type="button" name="button2" value="Zavri" onclick="window.close();">
</form>
<form name="form2">
  <input type="button" name="button1" value="Doplnenie" onclick="window.opener.document.form1.text1.value='bbb';">
  <input type="button" name="button2" value="Zavri" onclick="window.close();">
</form>

Nefunguje ani tak.

Edit: Oprava, nefunguje to len v Opere. Vedel by niekto poradiť čo s tým? Potrebujem to rozchodiť v nej.

Skús si prejsť tie stránky validátorom, či tam nie je nejaká iná chyba, kvôli ktorej potom Opera nevie nájsť ten formulár.

document.forms.form1
To mi neberie už žiadny prehliadač

Tak to máš nejaký iný prehliadač, než všetky, s ktorými som sa doteraz stretol.

document.forms[form1]
Ale toto je ekvivalentný zápis.

Ekvivalentný zápis to je, keď to tam dáš ako reťazec, nie ako premennú.

Tak to máš nejaký iný prehliadač, než všetky, s ktorými som sa doteraz stretol.

Beriem späť, to mi funguje, asi som to mal vtedy zle refreshnuté.

Ekvivalentný zápis to je, keď to tam dáš ako reťazec, nie ako premennú.

Áno, malo to byť v úvodzovkách, zabudol som ich len napísať.

Zpět do poradny Odpovědět na původní otázku Nahoru