[ Pobierz całość w formacie PDF ]
.W wikszoci tu zamieszczonych przykadów oprzemysi na takim wanie modelu.Bdziemy równie unika nowszych elementów jzykai zawzimy omówienie do JavaScriptu l.1, z którym w szerokim zakresie szgodne róne przegldarki obsugujce JavaScript.FormularzeDo ulepszania formularzy HTML w aplikacjach Web chyba najczciej uywany jestJavaScript.Standardowe formularze HTML nie s nadzwyczajnie inteligentne.Przyjmuj wprowadzane dane i przekazuj je do serwera Web, gdzie dopieronastpuje cay proces przetwarzania.Dziki JavaScriptowi zwikszaj simoliwoci obsugi po stronie klienta.Za pomoc JavaScriptu moemy sprawdzapoprawno danych oraz aktualizowa pola, reagujc na dziaania uytkownika wsposób natychmiastowy; czsto pojedynczym formularzem dynamicznym moemyzastpi kilka statycznych.Zalet JavaScriptu jest to, e cz pracy normalnie wykonywanej przez serwerprzenosi na program-klient, a tym samym redukuje liczb da kierowanych doserwera.Zalet JavaScriptu, jeli chodzi o uytkownika, jest to, e zapewnianatychmiastow reakcj, bez oczekiwania na pobranie nowej strony przezprzegldark.Kontrola poprawnoci wprowadzanych danychGdy tworzymy formularz HTML, na ogó oczekujemy od uytkownika, aby wypenigo w okrelony sposób.Na formularz mona naoy rozmaite ograniczenia.Mogone polega na tym, e na przykad do niektórych pól mog by wprowadzanetylko liczby, podczas gdy do innych tylko daty, w niektórych bd mogy siznale wartoci wycznie z okrelonego zakresu, niektórych pól nie bdziemona pomin przy wypenianiu formularza, wypenienie niektórych pól moe siwzajemnie wyklucza.Do obsuenia wszystkich tych przypadków wystarczzaledwie dwa sposoby: pierwszy polega na sprawdzaniu kadego elementu nabieco - ju przy wprowadzaniu do niego danych; drugi polega naprzeprowadzeniu kontroli dopiero tu przed wysaniem formularza.Kontrola biecaSprawdzanie wartoci elementu formularza przy wprowadzaniu jej przezuytkownika jest metod najefektywniejsz, gdy trzeba skontrolowa zgodno zformatem lub zakresem danego elementu.Na przykad, jeli w okrelonym poludozwolone s wycznie liczby, mona sprawdzi, czy uytkownik nie wprowadzijakiego znaku nie bdcego cyfr.Do takiej kontroli posuy nam procedura obsugi zdarzenia onChange.Mona jejuy do pól nastpujcego typu: tekst (Text), obszar tekstowy (TextArea), haso(Pas-sword), plik wysyany do serwera (FileUpload) oraz lista pozycji do wyboru(Select).W wypadku kadego z tych elementów moemy zarejestrowa zdarzenieonChange i przypisa kod, który bdzie wykonywany wtedy, gdy zajdzie zmiana welemencie.Do rejestracji zdarzenia wystarczy poda jego nazw jako atrybutznacznika HTML danego elementu.Na przykad:Zajcie zdarzenia uruchomi funkcj sprawdzWiek, do której poprzez thisprzekazana zostanie referenq'a do elementu.Funkcja ta wyglda nastpujco:function sprawdzWiek ( element ) {if ( element.value != parseInt( element.value ) || element.value < l ||element.value > 150 ){alert( "Jako wiek prosz poda liczb miedzy l a 150." );element.focus();return false;}return true;}Powysza funkcja sprawdza, czy podany wiek jest liczb cakowit zawierajcsi w przedziale midzy l a 150 (przepraszamy czytelników, którzy maj 152lata, lecz musielimy przyj jak granic).Jeli sprawdzWiek stwierdzi, e wprowadzona warto jest niepoprawna, wywietlikomunikat, w którym zwraca si do uytkownika o ponowne podanie wieku (rysunek7.1), i za pomoc funkcji element.f ocus () przenosi kursor z powrotem do polawiek.Nastpnie, odpowiednio do pomylnego lub niepomylnego wyniku kontroli,zwraca warto prawda" (true) lub fasz" (false).Nie jest to z reguykonieczne, lecz bardzo si nam przyda póniej, gdy bdziemy wywoywa kolejnokilka funkcji, co zademonstrujemy w przykadzie 7.2.Zauwamy, e zdarzenie onChange wcale nie musi by obsugiwane poprzezwywoywanie funkcji.Moliwe jest bezporednie przypisanie kilku instrukcji.Mimo to praca nad dokumentami zazwyczaj jest atwiejsza, gdy JavaScript jestmaksymalnie zwarty, a funkcje nam to zapewniaj.Umoliwiaj ponadtozastosowanie tego samego kodu do kilku elementów formularza wymagajcychjednakowych testów.W wypadku czsto uywanych funkcji mona si posun okrok dalej i umieci je w osobnym pliku JavaScriptu, który potem bdzie monawcza do rónych plików HTML.Przykad przedstawimy na rysunku 7.2.Kontrola przy wysyaniuDrugi sposób sprawdzania danych polega na przeprowadzeniu tej operacji tuprzed wysaniem formularza do serwera.Jest to najlepszy moment, by sprawdzi,czy w polach, których wypenienie jest obowizkowe, wprowadzono dane, lubskontrolowa, czy zachowane s przewidziane zalenoci midzy poszczególnymielementami.Tego typu kontrole przeprowadza si przy uyciu procedury obsugizdarzenia onSubmit.Procedura onSubmit, wprowadzana atrybutem znacznika , dziaa podobnie doonChange:atwo te dostrzec kolejn rónic.onSubmit zwraca warto wywoywanego kodu.Jeli zwróci fasz", wysyka formularza zostanie anulowana, gdy tylko kodprocedury zakoczy dziaanie.W kadym innym wypadku wysyka bdziekontynuowana.Zwracane wartoci nie maj wpywu na obsug zdarzeniaonChange.Oto funkcja sprawdzajca formularza:function sprawdzFormularz ( formularz ) {if ( formularz["wiek"].value == "" ) {alert( "Prosz poda wiek.");return false;}return true;}Sprawdzamy tu, czy podano wiek.Trzeba pamita, e procedura onChange niewystarczy, poniewa uruchamiana jest tylko wtedy, gdy warto wieku ulegazmianie.Gdyby uytkownik nie poda wieku, procedura onChange w ogóle niezostaaby wywoana.Wanie dlatego wartoci, których podania wymagamy oduytkownika, sprawdza si procedur onSubmit.Przykadowa kontrola poprawnoci danychPrzyjrzyjmy si kompletnemu rozwizaniu.Wydaje si, e coraz wicej serwisówWeb wymaga od uytkowników rejestracji i podawania danych osobowych, jeli chconi korzysta z oferowanych usug.Utworzymy troch przesadnie rozbudowanyformularz rejestracyjny (rysunek 7.2).Zauwamy, e formularz dotyczy tylko mieszkaców Stanów Zjednoczonych.Jednakmog do niego siga internetowi uytkownicy praktycznie z caego wiata,naley zatem zachowa elastyczno przy sprawdzaniu poprawnoci, dostosowujcformularz do rozmaitych krajowych sposobów zapisu numeru telefonu, kodupocztowego itp.Mimo to, poniewa celem tego przykadu jest przede wszystkimzademonstrowanie kontroli poprawnoci, ograniczymy si do jednego zestawuformatów, aby unikn nadmiernego skomplikowania.Wywietlane bd wymaganeformaty numerów telefonów i numeru ubezpieczenia.Ponadto przyjto, e kodpocztowy ma posta piciocyfrow.Przykad 7.1.input_validation [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • listy-do-eda.opx.pl