Portál AbcLinuxu, 14. května 2025 01:08

Dotaz: jquery ajax - replace div pouze jednou

7.5.2009 12:23 Dworkin
jquery ajax - replace div pouze jednou
Přečteno: 689×
Odpovědět | Admin

Dobry den,

obrazim se sem jako naprosty javascriptovy novacek. Pro to jsem se rozhodl pouzit jquery framework pro ajax dotazy a narazil jsem na chovani ktere si mozna umim vysvetlit, ale nevim jak s nim bojovat. 

 

Mam formular ve kterych je hodne input boxu typu text, pro registraci uzivatele. Po kazdem kroku "jmeno" "heslo" "adresa" ochytavam udalost change a zavolam validaci tohoto pole.

pomoci jquery $load  nahradim dany DIV novym zvalidovanym. Vse funguje moc dobre ale jen jednou. Jak se nahradi DIV z ajax requestu prestane udalost change reagovat a jiz druhy dotaz se v pripade zmeny neudela.

Myslim si, ze po nahrazeni DIVu novym obsahem se "nejak ztrati" udalosti typu click change ap nad timto prvkem.

Nesetkal jste se nahodou nekdo s takovymto chovanim?

zde jsou fragmenty kodu ktery pouzivam:

 $(document).ready(function(){

$("input:text").change(function() {

 $(div_name).load("http://localhost/test",postdata);

  });

});

 

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.5.2009 12:35 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: jquery ajax - replace div pouze jednou
Odpovědět | | Sbalit | Link | Blokovat | Admin
Rozumnejšie by bolo dať tú obsluhu na form a tam najskôr zistiť, aký element vygeneroval tú udalosť a podľa toho urobiť správne kroky (skús hľadať "javascript event delegate" prípadne aj s "jquery").

Ďalšia možnosť je vždy po zmene toho elementu znova pripojiť obsluhu udalostí (keďže to vloženie vytvorí nové prvky, ktoré už nemajú nastavený ten event handler).
7.5.2009 13:00 Dworkin
Rozbalit Rozbalit vše Re: jquery ajax - replace div pouze jednou

Dekuji za nasmerovani.Vyzkousim.

Dworkin

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.