[ Pobierz całość w formacie PDF ]
.Przyciskowi nie nadajemy nazwy,nie będzie ona tutaj do niczego potrzebna.Okreœlamy jednak procedurę, która mazostać wykonana po kliknięciu na nim.Podajemy zatem nazwę zdarzenia onClick iprzypisujemy mu procedurę przetwarzaj_dane().Do tej procedury (funkcji) jako parametr przekazujemy this.form, czyli obiektreprezentujšcy bieżšcy formularz o nazwie formularz1.Odwołujemy się do niego wfunkcji przetwarzaj_dane() za pomocš nazwy zmiennej — formularz.Ponieważ poludo wprowadzania tekstu nadaliœmy nazwę imie, możemy się teraz do niegoodwoływać, piszšc formularz.imie.Dokładnie chodzi nam o sprawdzenie wartoœci tego pola, piszemy zatemformularz.imie.value.Dalej następuje klasyczna konstrukcja if.else, którejnie trzeba chyba tłumaczyć.Gdybyœmy chcieli, aby pole tekstowe nie było napoczštku puste, ale zawierało jakšœ wartoœć domyœlnš, powinniœmy dodać dodefinicji tego pola parametr value np.Konkretny formularz jest tak naprawdę elementem zbioru wszystkich formularzy wdokumencie.A więc żeby się do niego dostać, można również napisać:document.forms.formularz1 lub też skorzystać z będšcej częœciš dokumentutablicy zawierajšcej wszystkie formularze.Odwołujemy się do niej, piszšcdocument.forms[indeks], gdzie indeks jest liczbš okreœlajšcš kolejny formularz.Liczbę wszystkich formularzy w dokumencie możemy okreœlić, korzystajšc zargumentu length obiektu forms.Ćwiczenie 5.9.Napisz skrypt sprawdzajšcy iloœć formularzy w dokumencie i wyœwietlajšcy tęwartoœć w polu tekstowym.Iloœć formularzy w dokumencie:Jak widać, aby „dostać się” do formularza, nie trzeba przekazywać go jakoparametru funkcji przetwarzaj_dane(), jak w poprzednim ćwiczeniu.Możnaskorzystać z opisanych wyżej konstrukcji języka.Trzeba jedynie pamiętać, żeelementy tablicy forms numerowane sš od zera, a nie od jedynki.Zatemformularz1 to forms[0], formularz2 to forms[1], itd.Obiekt formularza udostępnia właœciwoœci zebrane w tabeli 5.1 oraz jednš metodę— submit.Tabela 5.1.Właœciwoœci udostępniane przez obiekt formNazwa metodyZnaczenieactionwartoœć parametru ACTION w definicji formularzaElementstablica elementów, z których składa się dany formularzEncodingtyp kodowania, czyli wartoœć parametru ENCTYPE etykietyLengthliczba elementów zawartych w formularzuMethodwartoœć parametru METHOD etykietyTargetwartoœć parametru TARGET etykietyDzięki tym właœciwoœciom możemy dynamicznie zmieniać sposób zachowaniaformularza zawarty w jego definicji.Oprócz właœciwoœci mamy dostępnš jednšmetodę, mianowicie submit, która powoduje wysłanie danych z formularza doserwera.Możemy wykorzystać jš np.do sprawdzenia, czy użytkownik podałwszystkie wymagane przez nas dane.Ćwiczenie 5.10.Utwórz formularz jak na rysunku 5.4.Po naciœnięciu przycisku Wyœlij, skrypt masprawdzić, czy użytkownik podał wszystkie wymagane dane.Rysunek 5.4.Wyglšd formularzaz ćwiczenia 5.10Proszę podać swoje dane:(Pola oznaczone * muszš zostać wypełnione)Dane personalne:imię:*nazwisko:*Adres:ulica:nr domu:TRkod:miasto:kraj:*tel.:*Powyższy skrypt generuje formularz przedstawiony na rysunku 5.4.Jest onformatowany za pomocš tabel HTML.Każde pole tekstowe formularza ma swojšnazwę, podawanš parametrem name, tak że możemy je bez problemu zidentyfikować.Na samym dole nie umieszczamy przycisku typu submit, jak w klasycznymformularzu, tylko zwyczajny przycisk typu button.Dodajemy natomiast do niegoprocedurę obsługi zdarzenia onClick o nazwie przetwarzaj_dane().Procedura tasprawdza po kolei wartoœci interesujšcych nas pól i jeżeli dane pole niezostało wypełnione, dodaje do zmiennej napis nazwę tego pola oraz nadajezmiennej brak_danych wartoœć true (prawda).Na samym końcu sprawdzamy wartoœćtej zmiennej.Jeżeli jest ona równa true, czyli brakuje jakichœ danych, zapomocš metody alert() informujemy o tym użytkownika.Konkretnie wyœwietlamynazwy niewypełnionych pól oraz kończymy wykonywanie procedury.Jeżeli wartoœćzmiennej brak_danych nie została zmodyfikowana, wywołujemy metodę submit().Powoduje ona przesłanie danych do serwera.Przypisanie formularz =document.forms[0] ma na celu jedynie uproszczenie zapisu.Skrypt ten można zmodyfikować również w taki sposób, aby w przypadku niewypełnienia pól, które nie sš wymagane, była im przypisywana wartoœć np.„brakdanych”.Może być to przydatne w póŸniejszej analizie danych.Nie jest toskomplikowane.Wystarczy sprawdzać wartoœci poszczególnych pól i w przypadkugdy zawierajš pusty łańcuch znaków, przypisać im wartoœć „brak danych”, czyliif (formularz.nazwa_pola.value == ””) formularz.nazwa_pola.value = ””;Zamiast korzystać z metody submit(), możemy również, w celu uzyskania tegosamego efektu, wykorzystać zdarzenie onSubmit.Ćwiczenie 5.11.Utwórz formularz jak na rysunku 5.4.Po naciœnięciu przycisku Wyœlij skrypt masprawdzić, czy użytkownik podał wszystkie wymagane dane.Jeœli polanieoznaczone gwiazdkami nie zostanš wypełnione, nadaj im wartoœć brak danych.Wykorzystaj zdarzenie onSubmit.Prosze podać swoje dane:(Pola oznaczone * muszš zostać wypełnione)Dane personalne:imię:*nazwisko:*Adres:ulica:nr domu:kod:miasto:kraj:*tel.:*Mimo, iż kod wyglšda podobnie jak w ćwiczeniu 5.10, wykorzystywana jest tujednak inna technika.Obecnie przycisk wysyłajšcy jest już typu submit.Jegonaciœnięcie powoduje wywołanie zdarzenia onSubmit, któremu przypisana jestodpowiednia procedura obsługi.W przypadku wypełnienia wszystkich żšdanych pólzwraca ona wartoœć truei następuje wysłanie zawartoœci formularza.W przeciwnym przypadku, onSubmit =false, wysłanie nie nastšpi.Użytkownik zostanie jednak poinformowany, którepola nie zostały przez niego wypełnione [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • rurakamil.xlx.pl
  •