Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Jak programově nastavit událost

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Jak programove nastavit udalost

Autor: menea.cz

14:34:07 11.08.2005

11. srpna 2005, 14:14:53, napsal jste:

> Tak ted nejak nechapu, co jste puvodne vlastne chtel, umele
> vyvolat udalost, nebo ji priradit ovladac? Leo

Formulářovému prvku jsem potřeboval přiřadit JS fci jako ovladač
odálosti onKeyPress, která bude volána s parametrem event, což bude
objekt dané události. Uff :) Z těch mých dvou JS fcí je to patrné.

--
Jiří Němec, ICQ: 114651500
www.menea.cz - www stránky a aplikace


Příspěvek zaslán emailem

Citovat příspěvek

 

Re: Jak programově nastavit událost

Autor: Leo

14:14:53 11.08.2005

Tak ted nejak nechapu, co jste puvodne vlastne chtel, umele vyvolat udalost, nebo ji priradit ovladac? Leo

Citovat příspěvek

 

Vyreseno: Jak programove nastavit udalost

Autor: menea.cz

14:02:20 11.08.2005

11. srpna 2005, 13:14:43, napsal jste:

Toto je řešení:

> function addEvent (el, evname, func)
> {
> if (el.attachEvent) // IE
> el.attachEvent ("on" + evname, func);
> else if (el.addEventListener) // Gecko / W3C
> el.addEventListener (evname, func, true);
> else
> el ["on" + evname] = func;
> };

> addEvent (input, "keypress", validateForm);

--
Jiří Němec, ICQ: 114651500
www.menea.cz - www stránky a aplikace


Příspěvek zaslán emailem

Citovat příspěvek

 

Re: Jak programově nastavit událost

Autor: los.

13:14:42 11.08.2005

Ja pridávam obsluhu udalosti takto:
function addEvent (el, evname, func)
{
if (el.attachEvent) // IE
el.attachEvent ("on" + evname, func);
else if (el.addEventListener) // Gecko / W3C
el.addEventListener (evname, func, true);
else
el ["on" + evname] = func;
};

A potom napr.:
addEvent (input, "keypress", validateForm);

Ale neviem, či keypress funguje všade korektne (tuším mi to robilo nejaké problémy), takže to používam takto:
addEvent (input, (is_ie || is_opera)? "keydown": "keypress", validateForm);

Citovat příspěvek

 

Re: Jak programově nastavit událost

Autor: Leo

12:53:56 11.08.2005

No nemate podle me co predat, protoze takovy objekt neexistuje, a cestu jak ho vytvorit umele prohlizece nepodporuji. Leo

Citovat příspěvek

 

Re: Jak programove nastavit udalost

Autor: menea.cz

12:31:04 11.08.2005

11. srpna 2005, 12:14:13, napsal jste:

> To je nejake dost neuplne ne? Kde volate setOKPEvent, co je to
> getObject, atd. Leo

Ano, není to tam zmíněno ale není to v tuto chvíli podstané. getObject
vrátí objekt podle předaného ID a setOKPEvent(); je volána při onLoad
události dokumentu.

Podstatné je, jak ve fci setOKPEvent na tomot řádku:

theForm.elements[i].onkeypress = validateForm;

předat event objekt. Nebo jakkoli jinak.

--
Jiří Němec, ICQ: 114651500
www.menea.cz - www stránky a aplikace


Příspěvek zaslán emailem

Citovat příspěvek

 

Re: Jak programově nastavit událost

Autor: Leo

12:30:52 11.08.2005

Jinak Flanagan pise, ze standard DOM zna umele vyvolane udalosti (document.creatEvent), ale ze to v dobe psani knihy nepodporoval Netscape 6 ani tehdy aktualni Mozilla. Leo

Citovat příspěvek

 

Re: Jak programově nastavit událost

Autor: Leo

12:14:12 11.08.2005

To je nejake dost neuplne ne? Kde volate setOKPEvent, co je to getObject, atd. Leo

Citovat příspěvek

 

Jak programově nastavit událost

Autor: menea.cz

10:51:39 11.08.2005

Pěkný den,

Potřebuji programově přiřadit textovým polím ve formuláři JS fci
volanou při události onKeyPress. Nevím, jak nastavit ve fci
setOKPEvent(); událost validateForm(); a jako parametr ji předat event
objekt.

function setOKPEvent(){
var theForm = getObject("product_form");

for(var i=0; i if(theForm.elements[i].type == "text"){
theForm.elements[i].onkeypress = validateForm;
}
}
}

function validateForm(ev){
ev || (ev = window.event);
var code = (ev.keyCode != null? ev.keyCode: (ev.charCode != null? ev.charCode: ev.which));
if (code == 13){
checkShopId();
}
}

Takto to lze bez problémů, ale já to potřebuji programově.



Doufám, že jsem to vysvětlit srozumitelně. Díky předem za nápady.

--
Jiří Němec, ICQ: 114651500
www.menea.cz - www stránky a aplikace


Příspěvek zaslán emailem

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: