metoda window.showModalDialog()
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:
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.