![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 15.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Chciałbym osiągnąć następujący efekt: Mam formularz z ilomaś polami input i textarea. Chce tak zadeklarować obsługę zdarzenia onfocus dla tych pól w javascript aby deklarowało się to przy wczytaniu strony. Następnie po kliknięciu w dowolne z tych pól ma się wykonywać zadeklarowana wcześniej funkcja która sprawdzi jakie pole zostało kliknięte i zapisze to do oddzielnej zmiennej. Następnie będzie można wykonać jakieś operacje na tej zmiennej co sprawi, że będą one wykonywane zawsze na aktywowanym polu np. zmiana tła itp. Nie chce robić tego poprzez zadeklarowanie zdarzenia w tagach html, gdyż formularz może się zmieniać dynamicznie i sprawiało by to problemy. Wole aby takie przypisanie zdarzenia do każdego pola input i textarea robiło się automatycznie. Robiłęmt o już w jQuery i działało poprawnie ale w czystym js mi to kompletnie nie wychodzi. Czy może ktoś mi z tym pomóc, bo szukam w google juz drugi dzien i nic nie mogę znaleźć dokładnie pasującego do mojego problemu. Kod w jQuery wyglądał tak:
Ten post edytował czarek1986 27.02.2010, 00:02:29 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
a ) document.getElementsByTagName - po inputach i textarea
b ) robisz pętlę po tych elementach c ) spr. w pętli czy: input.type == 'text' d ) w pętli po tych elementach zapisujesz: Kod element.onfous = function(){ TwojaFunkcja(this); }; i powinno chodzić ![]() PS. Pętlę możesz zrobić w taki trochę inny sposób: Kod for(var tablica = document.getElementsByTagName('input'), i=0, e; e=tablica[i++];){
alert(e); //zmienna e zawiera już referencję do konkretnego elementu :) } Ten post edytował kamil4u 27.02.2010, 21:37:30 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.05.2025 - 06:24 |