Modßlnφ dialog

metoda window.showModalDialog()

Zobrazit dialogovΘ okno.

Modßlnφ dialogy ve v∞tÜin∞ prohlφ₧eΦ∙ nefungujφ (testovßno zatφm jen v IE 5). V praxi je tedy v∞tÜinou t°eba vymyslet n∞jakou alternativu, nejΦast∞ji pomocφ window.open().

V²hodnou (nebo alespo≥ zvlßÜtnostφ) dialogovΘho okna je to, ₧e hlavnφ okno Φekß na ukonΦenφ prßce s dialogov²m oknem. To je takΘ jedin² zßsadnφ rozdφl od metody window.open().

Na rozdφl od window.open() mß showModalDialog() trochu jinΘ parametry. Jde o vlastnosti:
border, center, dialogHeight, dialogLeft, dialogTop, dialogWidth, font, font-faily, font-size, font-style, font-variant, font-weight, help, maximize, minimize. Ty poslednφ t°i vlastnosti jsou pro tlaΦφtka v modrΘ liÜt∞. Centrovßnφ je vycentrovßnφ okna na strßnce. Border (thin, thick) podle m∞ nefunguje. Vlastnosti dialogu se ale mohou nadefinovat a₧ p°φmo v html k≤du dialogu (ale m∙₧e se to v²Üe popsan²mi parametry na°φdit u₧ z tΘ strßnky, kterß dialog vyvolala.

Pokud nechcete tvo°it pro ka₧d² dialog samostatn² naΦφtan² soubor, jako lokaci pou₧ijte pseudoprotokol about:. Text za about se zobrazφ v okn∞.

P°φklad: Dialog pomocφ about:

Nßvod od Martina na vrßcenφ prom∞nnΘ:

Pokud chcete aby okno vracelo pouze jednu hodnotu tak uve∩te do hlavnφ strßnky:
<script>
hodnota = window.showModalDialog();
</script>
a v souboru pro dialog uve∩te do zßhlavφ:
<script>
function vrat() {
window.returnValue = "nßvratovß hodnota okna kterß se ulo₧φ v hlavnφ strßnce do prom∞nnΘ hodnota";
window.close(); }
</script>
pokud chcete vφc parametr∙ uve∩te:
function neco() { obsah funkce neco }
prom1 = null; prom2=null; prom3=null;
window.showModalDialog();
a do souboru kter² bude dialogem zapiÜte:

<script>
function update() {
WCO = dialogArguments; // inicializace objektu
WCO.prom1 = "hodnota prom∞nnΘ prom1"; // p°i°azenφ hodnoty
WCO.prom2 = "hodnota prom2"; // to samΘ
WCO.prom3 = "hodnota prom3"; // to samΘ
WCO.neco(); // spuÜt∞nφ funkce neco() definovanΘ v hlavnφm okn∞
window.close(); } // zav°enφ okna
</script> - samoz°ejm∞ ₧e se do dß zm∞nit - m∙₧ou se p°i°azovat hodnoty prom∞nn²ch v hlavnφm okn∞ a funkcφ v hlavnφm okn∞.Takto se dß vyu₧φt p°i tvorb∞ WYSIWYG editoru na strßnce.(p°i°azovßnφ barev, znak∙ atd.)
Takto se dß z toho dialogu natßhnout hodnoty.