zadanie3.pdf
(
308 KB
)
Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Aplikacje internetowe - laboratorium
JĘzyk JavaScript
Celem ćwiczenia jest przygotowanie formularza HTML z wykorzystaniem języka JavaScript.
Formularz ten będzie sprawdzany pod względem zawartości przed wysłaniem do serwera.
Formularz będzie miał charakter dynamiczny, tzn. niektóre jego elementy będą zmieniać swój
stan pod wpływem działań użytkownika. Do wykonania ćwiczenia potrzebny jest dowolny
edytor plików tekstowych oraz przeglądarka.
1.
Stwórz dwa pliki tekstowe znajdujące się w tym samym katalogu dyskowym:
formularz.html
i
form_check.js
.
2.
Formularz ma służyć do wprowadzania danych potrzebnych do rejestracji
użytkownika w serwisie internetowym. Potrzebne informacje to przede wszystkim
dane osobowe. W celu utworzenia formularza wykorzystaj element FORM języka
HTML. Formularz o nazwie
dane_osobowe
powinien umożliwiać wprowadzanie
następujących danych: imię, nazwisko, płeć (wybór jednej z opcji), nazwisko
panieńskie, e-mail, ulica, kod pocztowy, miasto, uwagi (pole tekstowe). Dla lepszej
wizualizacji formularza pola można umieścić w komórkach tabeli. Zawartość pliku
formularz.html
powinna być następująca:
<html>
<head>
<title>Javascript</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
</head>
<body>
<form name="dane_osobowe">
<table border=0>
<tr><td>Imię</td><td><input type=text name="f_imie"></td></tr>
<tr><td>Nazwisko</td><td><input type=text name="f_nazwisko"></td></tr>
<tr><td>Płeć</td><td>
<input name="f_plec" value="f_k" checked type="radio"/>kobieta<BR>
<input name="f_plec" value="f_m" type="radio"/>męŜczyzna</td></tr>
<tr><td>N.panieńskie</td><td><input type=text name="f_nazwisko_p"></td></tr>
<tr><td>E-mail</td><td><input type=text name="f_email"></td></tr>
<tr><td>Kod pocztowy</td><td><input type=text name="f_kod"></td></tr>
<tr><td>Ulica/Osiedle</td><td><input type=text name="f_ulica"></td></tr>
<tr><td>Miasto</td><td><input type=text name="f_miasto"></td></tr>
<tr><td>Uwagi</td><td>
<textarea rows="5" cols="15" name="uwagi"></textarea></td></tr>
<tr><td colspan="2" align="center">
<input type="button" value="Przeslij"></td></tr>
</table>
</form>
</body>
</html>
Plik jest wyświetlany przez przeglądarkę w następujący sposób
3.
W pliku
form_check.js
zostaną umieszczone definicje funkcji, które będą
sprawdzały elementarne warunki, jakie powinny spełniać wartości wprowadzane do
formularza. Sprawdzana powinna być długość napisu, format kodu pocztowego oraz
adresu poczty internetowej. Początkowo, plik zawiera jedną funkcję sprawdzającą, czy
pole jest puste.
// zwraca wartosc true jesli przekazany argument to pusty lancuch
function
isEmpty(str)
{
if
(str.length == 0)
{
return
true
}
else
{
return
false
}
}
4.
Dodaj do powyższego kodu funkcję, która sprawdzi, czy zgłaszając formularz
użytkownik wypełnił wymagane pole „Imię”
function
validate(form)
{
if
(isEmpty(form.elements["f_imie"].value))
{
alert("Podaj imię!")
return
false
}
else
{
return
true
}
}
5.
Dodaj do nagłówka HTML w pliku
formularz.html
odwołanie do zewnętrznego
pliku (
form_check.js)
zawierającego skrypt w języku JavaScript:
<html>
<head>
<title>Javascript</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<script src="form_check.js"></script>
</head>
<body>
...
6.
Dodaj do przycisku obsługę zdarzenia naciśnięcia przycisku. Właściwy fragment kodu
powinien mieć postać:
<input type="button" value="Przeslij"
onClick="return validate(this.form)"
>
7.
Uruchom formularz w przeglądarce. Przetestuj działanie formularza próbując zgłosić
formularz bez wypełnienia pola ”Imię”.
8.
Formularz nadal można łatwo oszukać, wpisując do pola „Imię” ciąg białych znaków.
Dodaj do pliku
form_check.js
funkcję sprawdzającą, czy podany łańcuch znaków
nie składa się w całości z białych znaków.
// zwraca wartosc true jesli przekazany argument
// to ciag bialych znakow
function
isWhiteSpace(str)
{
var
ws = "\t\n\r "
for
(i = 0; i < str.length; i++)
{
var
c = str.charAt(i)
if
( ws.indexOf(c) == -1)
return
false
}
return
true
}
9.
Zmodyfikuj funkcję
validate()
w taki sposób, aby przy sprawdzaniu imienia
uwzględnić także funkcję
isWhiteSpace()
.
function
validate(form)
{
if
(isEmpty(form.elements["f_imie"].value) ||
isWhiteSpace(form.elements["f_imie"].value))
{
alert("Podaj imię!")
return
false
}
else
return
true
}
10.
Sprawdź, czy walidacja działa poprawnie.
11.
W kolejnym kroku dodamy funkcję weryfikującą poprawność wprowadzonego kodu
pocztowego. Musimy zapewnić, że kod pocztowy składa się z samych cyfr i że jest w
poprawnym formacie 99-999. Dodaj do pliku
form_check.js
poniższe funkcje.
// zwraca wartosc true jesli przekazany argument to cyfra
function
isDigit(c)
{
return
((c >= "0") && (c <= "9"))
}
// zwraca wartosc true jesli przekazany argument
// to poprawny kod pocztowy
function
checkZIPCode(str)
{
if
(str.length == 6 )
{
if
( (str.charAt(2)) == "-" )
{
if
( isDigit(str.charAt(0)) && isDigit(str.charAt(1)) &&
isDigit(str.charAt(3)) && isDigit(str.charAt(4)) &&
isDigit(str.charAt(5)) )
{
return
true
}
else
alert("Zły kod pocztowy")
return
false
}
else
alert("Zły kod pocztowy")
return
false
}
else
alert("Zły kod pocztowy")
return
false
}
Plik z chomika:
M.Konieczny
Inne pliki z tego folderu:
MySQL+PHP+phpMyAdmin (prezentacja, przykłady).zip
(5841 KB)
hodowla.rar
(86 KB)
salon seat.rar
(62 KB)
filmoteka.zip
(13 KB)
zadanie_5.zip
(4 KB)
Inne foldery tego chomika:
Analiza danych (Program R)
Automatyczne systemy biblioteczno-informacyjne
Bibliografia
Bibliotekarstwo
Biblioteki cyfrowe
Zgłoś jeśli
naruszono regulamin