Aplikacje WWW - laboratorium



Podobne dokumenty
Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium

Aplikacje internetowe - laboratorium

Aplikacje internetowe laboratorium JavaScript

Aplikacje internetowe laboratorium JavaScript

Zaawansowane aplikacje internetowe

Zajęcia 4 - Wprowadzenie do Javascript

Zdarzenia Zdarzenia onload i onunload

Szablon główny (plik guestbook.php) będzie miał postać:

Aplikacje WWW - laboratorium

Funkcje i instrukcje języka JavaScript

JAVAScript w dokumentach HTML (2)

Aplikacje internetowe - laboratorium

JavaScript - wykład 4. Zdarzenia i formularze. Obsługa zdarzeń. Zdarzenia. Mysz. Logiczne. Klawiatura. Beata Pańczyk

Celem ćwiczenia jest zapoznanie z językiem HTML i JavaScript, zasadami tworzenia stron WWW i umieszczania na nich skryptów w języku JavaScript.

Wykład 03 JavaScript. Michał Drabik

Odsyłacze. Style nagłówkowe

Dokumentacja Skryptu Mapy ver.1.1

SSK - Techniki Internetowe

Podstawy JavaScript ćwiczenia

Aplikacje WWW - laboratorium

Ilość cyfr liczby naturalnej

FORMULARZE Formularz ma formę ankiety, którą można wypełnić na stronie. Taki formularz może być np. przesłany pocztą elektroniczną .

Laboratorium 1 Wprowadzenie do PHP

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

HTML (HyperText Markup Language) hipertekstowy język znaczników

Wyszukiwanie największej spośród czterech liczb. Przykładowe rozwiązanie

Palindromy. Przykładowe rozwiązanie

TECHNOLOGIE SIECI WEB

Ćwiczenie 8. Kontrolki serwerowe

Aplikacje WWW - laboratorium

Projekt strony internetowej firmy organizującej przyjęcia

Wprowadzenie do Internetu Zajęcia 5

Dokumentacja smsapi wersja 1.4

I. Dlaczego standardy kodowania mailingów są istotne?

Umieszczanie kodu. kod skryptu

DOM (Document Object Model)

Przykład integracji kalkulatora mbank RATY na platformie IAI

LABORATORIUM 2 WSTĘP DO SIECI TELEINFORMATYCZNYCH TABELE I FORMULARZE

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

1. Proszę wejść na stronę: poczta.home.pl i zalogować się do nowej skrzynki za pomocą otrzymanych danych.

SPECYFIKACJA TECHNICZNA PRODUKTÓW REKLAMOWYCH SIECI LOCAL POWER. Specyfikacja ważna od 21 maja 2018 r.

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Zdarzenia w JavaScript (Zajęcia r.)

SIECI KOMPUTEROWE I BAZY DANYCH

Technologie informacyjne lab. 4

Specyfikacja techniczna dot. mailingów HTML

Przykładowa integracja systemu Transferuj.pl

Wybrane znaczniki HTML

INSTALACJA I KONFIGURACJA SERWERA PHP.

PWI Instrukcja użytkownika

JAVASCRIPT (cz. IV) ĆWICZENIA DO SAMODZIELNEGO WYKONANIA materiały dydaktyczne dla słuchaczy opracowanie: by Arkadiusz Gawełek, Łódź

XML extensible Markup Language. część 5

Internetowe bazy danych

obecnie tabeli nie stosuje się do budowy struktury witryny (stosuje się za to pozycjonowanie elementów i warstwy) faktycznie wymagają

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

JAK W NAGŁÓWKU STRONY LUB BLOGA

Programowanie WEB PODSTAWY HTML

Okna, ramki i ciasteczka

Aplikacje WWW - laboratorium

Michał Bielecki, KNI 'BIOS'

13. Konfiguracja proxy http, smtp, pop3, ftp, ssl

rk HTML 4 a 5 różnice

SIECI KOMPUTEROWE I BAZY DANYCH

How To? Konfiguracja podglądu strumienia z kamer IP ACTi

Autoryzacja zleceń kodem SMS. Dodatek do instrukcji głównej

Aplikacje internetowe

Podstawy technologii WWW

CZYM JEST JAVASCRIPT?

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Szczegóły dotyczące kolokwium nr 1

Formularze w PHP dla początkujących

Edukacja na odległość

Tworzenie Stron Internetowych. odcinek 5

Laboratorium 7 Blog: dodawanie i edycja wpisów

Formularze Pobierają dane od użytkownika strony i wysyłają je do przetworzenia na serwerze (gdzie potrzebne są skrypty,któredaneprzetworzą najczęściej

Young Programmer: HTML+PHP. Dr inż. Małgorzata Janik, Zajęcia #2

Przykładowa integracja systemu tpay.com KIP S.A. ul. Św. Marcin 73/ Poznań.

Laboratorium 6 Tworzenie bloga w Zend Framework

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Pozycjonowanie i poruszanie warstw

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

SOGA web co powinieneś wiedzieć

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Na początku utworzymy formularz w czystym języku HTML i przetestujemy go za pomocą przeglądarki WWW.

Dane - pobieranie, przekazywanie i przechowywanie. dr Beata Kuźmińska-Sołśnia

Zawartość specyfikacji:

Wybrane działy Informatyki Stosowanej

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Obiektowe bazy danych

Instrukcja użytkownika

Instrukcja użytkownika Rejestracja zmiany/dopełnienia kodów pocztowych Rejestracja zmiany numeru lokalu Rejestracja zmiany numeru PESEL

1. Składanie wniosku rejestracyjnego - rejestracja konta użytkownika/firmy

Język PHP. Studium Podyplomowe Sieci Komputerowe i Aplikacje Internetowe. v1.7, 2007/11/23

Ćwiczenie 22 Dynamiczne wczytywanie tekstu z pliku.txt

Obiekt navigator. Dodał Administrator wtorek, 16 marzec :32

INSTRUKCJA Panel administracyjny

Transkrypt:

Aplikacje WWW - laboratorium Język JavaScript Celem ćwiczenia jest przygotowanie formularza na stronie WWW 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 internetowa. 1. Stwórz dwa pliki tekstowe znajdujące się w tym samym katalogu dyskowym: formularz.htm i form_check.js. 2. Formularz ma służyć do wprowadzania danych potrzebnych do rejestracji w pewnym serwisie internetowym. Potrzebne informacje to przede wszystkim dane osobowe. W celu utworzenia formularza wykorzystaj element FORM języka HTML. Formularz o nazwie formularz1 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.htm powinna być następująca: <html> <head> <title>javascript</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> </head> <body> <center> <form name="formularz1"> <table border=0> <tr><td align="right">imię</td> <td><input type=text name="f_imie"></td></tr> <tr><td align="right">nazwisko</td> <td><input type=text name="f_nazwisko"></td></tr> <tr><td align="right">płeć</td> <td align="left"> <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 align="right">nazwisko panieńskie</td> <td><input type=text name="f_nazwisko_p"></td></tr> <tr><td align="right">e-mail</td> <td><input type=text name="f_email"></td></tr> <tr><td align="right">kod pocztowy</td> <td><input type=text name="f_kod_pocztowy"></td></tr> <tr><td align="right">ulica/osiedle</td> <td><input type=text name="f_ulica"></td></tr> <tr><td align="right">miasto</td> <td><input type=text name="f_miasto"></td></tr> <tr><td align="right">uwagi</td> <td><textarea rows="5" cols="15" name="field1" id="idfield1"> </textarea></td></tr> <tr><td colspan="2" align="center"> <input type="button" value="przeslij"></td></tr> </table>

</form> </center> </body> </html> Plik jest wyświetlany przez przeglądarkę w następujący sposób 3. W pliku form_check.js umieść 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. // wyswietla na ekranie komunikat o wymaganym polu function showwarrningreq(mesg) alert('pole "' + mesg + '" jest wymagane') return true // zwraca wartosc prawda jesli przekazany argument to cyfra function isdigit (c) return ((c >= "0") && (c <= "9")) // zwraca wartosc prawda jesli przekazany argument to pusty lancuch function isempty(st) if (st.length == 0) return true return false // zwraca wartosc prawda jesli przekazany argument to ciag bialych znakow function iswhitespace(st)

var ws = "\t\n\r "; for (i = 0; i < st.length; i++) var c = st.charat(i); if ( ws.indexof(c) == -1) return false; return true; // zwraca wartosc prawda jesli przekazany argument to niepusty lancuch, // ktory nie zawiera tylko bialych znakow function checkstring(st, mesg) if ( iswhitespace(st) isempty(st) ) showwarrningreq(mesg); return false; return true // zwraca wartosc prawda jesli przekazany argument to poprawny kod // pocztowy function checkpostalcode(st) var s = st; if (s.length == 6 ) if ( (s.charat(2)) == "-" ) if ( isdigit(s.charat(0)) && isdigit(s.charat(1)) && isdigit(s.charat(3)) && isdigit(s.charat(4)) && isdigit(s.charat(5)) ) return true; alert("zły kod pocztowy"); alert("zły kod pocztowy"); alert("zły kod pocztowy"); // zwraca wartosc prawda jesli przekazany argument to poprawny adres email function checkemail(st) if (iswhitespace(st)) alert("podaj właściwy e-mail"); at = st.indexof("@") if (at < 1)

alert("nieprawidłowy e-mail") return false var l; l= -1; for (var i = 0; i < st.length; i++) var c = st.charat(i); if ( c == ".") l = i; if ( (l < (at+2) ) (l == st.length-1) ) alert("nieprawidłowy e-mail"); return true; 4. Dodaj do powyższego kodu funkcję, która dla każdego sprawdzanego pola formularza wywoła odpowiednie metody do sprawdzenia elementarnych warunków. function validate(form) return ( checkstring(form.elements["f_imie"].value, 'imię') && checkstring(form.elements["f_nazwisko"].value,'nazwisko') && checkemail(form.elements["f_email"].value) && checkpostalcode(form.elements["f_kod_pocztowy"].value) && checkstring(form.elements["f_ulica"].value,'ulica/osiedle') && checkstring(form.elements["f_miasto"].value,'miasto') ) 5. Dodaj do nagłowka HTML (sekcja <head></head>) w pliku formularz.htm odwołanie do zewnętrznego pliku (form_check.js) zawierającego skrypt w języku JavaScript. Dodaj do formularza wywołanie funkcji validate w wyniku zajścia zdarzenia polegającego na zatwierdzeniu tego formularza. Ostatecznie plik powinien zawierać następujący kod: <html> <head> <title>javascript</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> <script src="form_check.js"></script> </head> <body> <center> <form name="formularz1"> <table border=0> <tr><td align="right">imię</td> <td><input type=text name="f_imie"></td></tr> <tr><td align="right">nazwisko</td> <td><input type=text name="f_nazwisko"></td></tr> <tr><td align="right">płeć</td> <td align="left"> <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 align="right">nazwisko panieńskie</td>

<td><input type=text name="f_nazwisko_p"></td></tr> <tr><td align="right">e-mail</td> <td><input type=text name="f_email"></td></tr> <tr><td align="right">kod pocztowy</td> <td><input type=text name="f_kod_pocztowy"></td></tr> <tr><td align="right">ulica/osiedle</td> <td><input type=text name="f_ulica"></td></tr> <tr><td align="right">miasto</td> <td><input type=text name="f_miasto"></td></tr> <tr><td align="right">uwagi</td> <td><textarea rows="5" cols="15" name="field1" id="idfield1"> </textarea></td></tr> <tr><td colspan="2" align="center"> <input type="button" value="przeslij" onclick="validate(this.form);"></td></tr> </table> </form> </center> </body> </html> 6. Uruchom plik w przeglądarce. Przetestuj działanie formularza wprowadzając poprawne i niepoprawne dane oraz pozostawiając niektóre pola puste.

7. Kolejnym krokiem ćwiczenia będzie rozbudowanie formularza w taki sposób, aby pole nazwisko panieńskie było dostępne tylko dla osoby, która jest kobietą. W tym celu konieczne będzie obsłużenie zdarzenia polegającego na przełączeniu pomiędzy wartościami kobieta/mężczyzna. W zależności od kierunku zmiany pole nazwisko panieńskie powinno stać się widoczne lub niewidoczne. Do tego celu zostanie wykorzystana właściwość stylu o nazwie visibility. Może ona przyjąć wartości visible albo hidden. Zmiana nastąpi przy zajściu zdarzenia onclick. 8. Dodaj do pliku formularz.htm kod JavaScript odpowiedzialny za zmianę właściwości visibility dla elementu, którego identyfikator jest przekazywany do funkcji jako argument. <body> <script type=text/javascript> function showx(elem) document.getelementbyid(elem).style.visibility='visible'; function hidex(elem) document.getelementbyid(elem).style.visibility='hidden'; </script> 9. Rozbuduj definicję pola służącego do wprowadzania nazwiska panieńskiego w taki sposób, aby możliwe było jego ukrywanie. Poniżej znajduję się rozwiązanie. Dotychczasowy kod: <input type=text name="f_nazwisko_p"> Zastąp przez: <span id="div_nazw" style="visibility:visible;"> <input type=text name="f_nazwisko_p"> </span> 10. Dodaj obsługę zdarzenia polegającego na wybraniu jednej z opcji oznaczających płeć. W zależności od wybranej płci powinno nastąpić ukrycie albo wyświetlenie pola do wprowadzenia nazwiska panieńskiego. Dotychczasowy kod: <input name="f_plec" value "f_k" checked type="radio"/> <input name="f_plec" value="f_m" type="radio"/> Zastąp przez: <input name="f_plec" value "f_k" checked type="radio" onclick="showx('div_nazw')"/> <input name="f_plec" value="f_m" type="radio" onclick="hidex('div_nazw')"/>

11. Po wykonaniu wszystkich poprzednich kroków plik formularz.htm powinien mieć następującą zawartość: <html> <head> <title>javascript</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> <script src="form_check.js"></script> </head> <body> <script type=text/javascript> function showx(elem) document.getelementbyid(elem).style.visibility='visible'; function hidex(elem) document.getelementbyid(elem).style.visibility='hidden'; </script> <center> <form name="formularz1"> <table border=0> <tr><td align="right">imię</td> <td><input type=text name="f_imie"></td></tr> <tr><td align="right">nazwisko</td> <td><input type=text name="f_nazwisko"></td></tr> <tr><td align="right">płeć</td> <td align="left"> <input name="f_plec" value "f_k" checked type="radio" onclick="showx('div_nazw')"/> kobieta<br> <input name="f_plec" value="f_m" type="radio" onclick="hidex('div_nazw')"/> mężczyzna</td></tr> <tr><td align="right">nazwisko panieńskie</td> <td><span id="div_nazw" style="visibility:visible;"> <input type=text name="f_nazwisko_p"></span> </td></tr> <tr><td align="right">e-mail</td> <td><input type=text name="f_email"></td></tr> <tr><td align="right">kod pocztowy</td> <td><input type=text name="f_kod_pocztowy"></td></tr> <tr><td align="right">ulica/osiedle</td> <td><input type=text name="f_ulica"></td></tr> <tr><td align="right">miasto</td> <td><input type=text name="f_miasto"></td></tr> <tr><td align="right">uwagi</td> <td><textarea rows="5" cols="15" name="field1" id="idfield1"> </textarea></td></tr> <tr><td colspan="2" align="center"> <input type="button" value="przeslij" onclick="validate(this.form);"></td></tr> </table> </form> </center> </body> </html>

12. Uruchom formularz w przeglądarce i sprawdź jego działanie.

13. Język JavaScript oferuje możliwość wykorzystania mechanizmu wyrażeń regularnych. Mogą one służyć do weryfikacji czy dany napis odpowiada zdefiniowanemu przez programistę wzorcowi. W utworzonym formularzu można znaleźć dwa fragmenty gdzie warto skorzystać z wyrażeń regularnych. Jest to sprawdzanie poprawności kodu pocztowego i adresu mailowego. Zastąp funkcję checkemail (znajduje się w pliku form_check.js) poniższą definicją i sprawdź działanie formularza. function checkemail(st) var email = /[a-za-z_0-9]+@[a-za-z_0-9]+\.[a-za-z][a-za-z]+/ if (email.test(st)) return true; alert("podaj właściwy e-mail"); 14. Kolejnym zadaniem w ćwiczeniu będzie usprawnienie działania formularza przez dodanie weryfikacji kodu pocztowego w czasie rzeczywistym, tzn. podczas wpisywania tekstu przez użytkownika. W tym celu koniecznie jest wykorzystanie zdarzenia następującego w chwili wpisania nowego znaku w pole kodu pocztowego. Dotychczasowy kod <td><input type=text name="f_kod_pocztowy"></td> zastąp przez: <td width="200"><input type=text name="f_kod_pocztowy" onkeyup="check_postal(this);"><b id="kod">źle</b></td> Powyższa zmiana wprowadza obsługę zdarzania onkeyup, które następującego po puszczeniu klawisza. Dodatkowo, obok pola do wprowadzania kodu pocztowego, został dodany tekst z identyfikatorem kod. Ten tekst będzie sygnalizował użytkownikowi, czy wpisywany kod jest poprawny. 15. Konieczne jest zdefiniowanie funkcji sprawdzającej wpisany tekst po każdym puszczeniu klawisza. W odróżnieniu od wcześniej zaimplementowanej funkcji checkpostalcode w pliku form_check.js, dodaj funkcję check_postal do sekcji SCRIPT w pliku formularz.htm. Kod tej funkcji znajduje się poniżej. function check_postal(elem) var postal_code = /^[0-9]2-[0-9]3$/ if (postal_code.test(elem.value) ) document.getelementbyid("kod").innerhtml = "OK"; document.getelementbyid("kod").innerhtml = "Źle";

16. Sprawdź działanie ukończonego formularza.