Autor Zpráva
Coompiik
Profil
Dobrý den,
Mám stránku která normálně po kliknutí otvře nové okno <a title="Otevře se v novém okně" onclick="window.open('odkaz.php',okynko','height=750,width=1000,left=100, top=100,resizable=yes,scrollbars=no,');" href="javascript:void(0);"> a tam mám formulář, potřeboval bych udělat aby až se formulář zpracuje aby se okno zavřelo, nevíte jak nato? Předem děkuji za dopověď.


Oprava: <a title="Otevře se v novém okně" onclick="window.open('odkaz.php','okinko','height=750,width=1000,left=100, top=100,resizable=yes,scrollbars=no,');" href="javascript:void(0);">Text</a>
_es
Profil
Coompiik:
aby až se formulář zpracuje
Čo myslíš pod „spracuje“? Že sa normálnym spôsobom odošle z toho okna? Alebo to „spracuje“ až server a má sa to zavrieť, až keď sa to „spracuje“ nejako úspešne?
Kubo2
Profil
Coompiik:
Po prvé ťa asi napomeniem, aby si neposielal kvôli jednému apostrofu celý kód znovu. Si tu registrovaný svojprávny člen, máš úplné právo/možnosť 24 hodín po zaslaní svojho príspevku ho akokoľvek editovať, takže túto možnosť prosím ťa využívaj.

K tvojmu dotazu. Okno sa dá zavrieť buď tak, že zvnútra (teda zo stránky, ktorú máš v ňom otvorenú), zavoláš metódu close() tamojšieho objektu window. Inak povedané:
window.close()
To však nie je úplne ono. Ty potrebuješ okno zavrieť po odoslaní formulára. Takže približne takto:
<!-- hlavný súbor -->
<a href="javascript://Nové okno" title="Otvorí sa v novom okne" id="js-nove">Text</a>
<script>
document.links['js-nove'].onclick = function(){
  window.open("odkaz.php", "okynko", "height=750,width=1000,left=100,top=100");
}
</script>

<!-- odkaz.php -->
<form action="?odoslany" id="na-odoslanie">
  <input type="submit" value="Stlač">
</form>
<script>
window.onunload = function(){
  this.close();
}
</script>
Okno sa zavrie po odoslaní formulára, ak predpokladáme, že odoslanie formulára spôsobí načítanie novej stránky (tj. napríklad sa formulár nebude odosielať do iného rámu či okna alebo AJAXom).

Edit, vytvoril som si živú ukážku. Tlačítko stlač odošle formulár a tým načíta tú istú stránku s pridaným parametrom ?odoslany. Okno sa po odoslaní formulára zavrie.
Chamurappi
Profil
Reaguji na Kuba2:
document.links['js-nove']
Kde jsi vzal tohle? V document.links je kolekce prvků, která jde procházet buď přes číselný index, nebo přes name. Cokoliv jiného nebude fungovat spolehlivě ve všech prohlížečích.

Okno sa zavrie po odoslaní formulára, ak predpokladáme, že odoslanie formulára spôsobí načítanie novej stránky
Ale onunload se může zavolat v okamžiku, kdy se rozhodne o přechodu na jinou stránku, nikoliv v okamžiku, kdy server začne odpovídat. To znamená, že HTTP požadavek ani nemusí odejít. Zavření by měla provádět až stránka vrácená serverem.

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: