Autor | Zpráva | ||
---|---|---|---|
dejvos Profil |
#1 · Zasláno: 13. 3. 2009, 15:00:38
Zdravím,
chtěl jsem se zeptat jestli a jak lze vyvolat událost Javascriptem. Mám formulář, kde vyplňuji datum pomocí kalendáře který se otevře v vyskakovacím okně. Následně bych potřeboval vyvolat do inputu, kam vložím aktuální datum, akci blur ... to se snad daří: window.opener.document.forms['datum'].focus(); window.opener.document.forms['datum'].value = datum(); window.opener.document.forms['datum'].blur(); Nějak mi ovšem původní input nepobírá akci blur .... nenastane událost onBlur. Sice z inputu zmizí kurzor, ale nespustí se mi funkce, kterou má vyvolat onBlur. Díky |
||
Joker Profil |
#2 · Zasláno: 13. 3. 2009, 15:16:20
dejvos
Sice z inputu zmizí kurzor, ale nespustí se mi funkce, kterou má vyvolat onBlur. Není lepší ty metody zavolat přímo? |
||
_es Profil |
#3 · Zasláno: 13. 3. 2009, 16:47:44
dejvos
Môžeš po *.blur() ešte spustiť aj priamo *.onblur() |
||
Časová prodleva: 3 dny
|
|||
dejvos Profil |
_es
„Môžeš po *.blur() ešte spustiť aj priamo *.onblur()“ No, jestli jsem to dobře pochopil, tak to pak mělo vypadat takto: window.opener.document.forms['datum'].focus(); window.opener.document.forms['datum'].value = datum(); window.opener.document.forms['datum'].blur(); window.opener.document.forms['datum'].onblur(); No, takhle script skončí chybou .... Joker „Není lepší ty metody zavolat přímo?“ No, já bych chtěl, abych mohl v prvcích definovat různé reakce na onBlur() ... |
||
Chamurappi Profil |
#5 · Zasláno: 16. 3. 2009, 09:22:36
Reaguji na dejvose:
Objekt document.forms['datum'] není políčko s name="datum", ale formulář s name="datum". Dotyčné formulářové pole můžeš najít pomocí document.forms["jméno-formuláře"]["datum"] nebo pomocí document.getElementById("jeho-id"). „Nějak mi ovšem původní input nepobírá akci blur“ Trochu mi vrtá hlavou, že si stěžuješ na blur, když by ti nemělo fungovat ani nastavení value. |
||
dejvos Profil |
#6 · Zasláno: 16. 3. 2009, 09:28:16
:D .... ups ... mam to tak jak říkáš ... já jsem přepisoval script, který je delši a ulítly mi tam jedny hranaté závorky
tak znovu a lepe: window.opener.document.forms['form']['datum'].focus(); window.opener.document.forms['form']['datum'].value = datum(); window.opener.document.forms['form']['datum'].blur(); window.opener.document.forms['form']['datum'].onblur(); Díky |
||
dejvos Profil |
#7 · Zasláno: 16. 3. 2009, 09:32:46
Jinak tedy už vyřešeno ...
Pravdu měl _es ... moje reakce byla poněkud histerická, zkoušel jsem to na špatné verzi skriptu .... Takže finále: window.opener.document.forms['form']['datum'].focus(); window.opener.document.forms['form']['datum'].value = datum(); window.opener.document.forms['form']['datum'].blur(); window.opener.document.forms['form']['datum'].onblur(); Díky. |
||
_es Profil |
#8 · Zasláno: 16. 3. 2009, 10:14:00
dejvos
Ešte by sa zišlo trochu ten kód skrátiť: var o = window.opener.document.forms['form']['datum']; o.focus(); o. ... |
||
Časová prodleva: 16 let
|
0