Indtrukcja
Transkrypt
Indtrukcja
Laboratorium Informatyki HTML (ang. Hyper Text Markup Language) hipertekstowy język znaczników Ćwiczenie 6. 1. Wprowadzenie Formularze są elementami umieszczanymi w dokumentach HTML w celu interakcji z użytkownikiem i uzyskaniem od niego danych w celu wykonania zaprogramowanych czynności. Formularze stosowane są na stronach sklepów internetowych w celu złożenia zamówienia, innym sposobem jest generowanie wiadomości e-mail. Formularze na stronach WWW zazwyczaj wspomagają skrypty napisane w php lub javascript. 2. Ramy formularza Formularz na stronie WWW definiowany jest pomiędzy znacznikami <FORM> </FORM>. Najprostszym sposobem zastosowania formularzy jest wysłanie maila Prost ze strony HTML. <form action="mailto:adres e-mail gdzie wysłać formularz" method="post"> (Tutaj umieszcza się pola formularza) </form> lub <form action="mailto:adres e-mail?subject=temat" method="post"> (Tutaj umieszcza się pola formularza) </form> W drugiej wersji definicji formularza poza podaniem adresu e-mail dodatkowo podawany jest temat wiadomości. W przypadku chęci powiązania skryptu php z formularzem pod atrybut ‘action=’ należy podpiąć adres pliku ze skryptem php. 3. Pole tekstowe Podstawowym elementem formularza jest okno tekstowe umożliwiające pobranie danych tekstowych od użytkownika. <input type="text" name="nazwa_1" /> <input name="nazwa_2" /> Atrybut z definicją typu nie jest obowiązkowy. Ponadto nazwa pola tekstowego w ramach formularza musi być unikalna. Dodatkowo okno tekstowe można formatować za pomocą dodatkowych atrybutów. Odpowiedź domyślna <input type="text" name="nazwa" value="odpowiedź domyślna" /> W miejsce tekstu: "odpowiedź domyślna" można wpisać domyślną treść danej odpowiedzi. Zostanie ona dołączona do formularza, jeśli użytkownik nie wpisze innej. 1 Długość pola: <input type="text" name="nazwa" size="X" /> W miejsce „X” podaje się długość pola w ilości znaków, które będą w nim jednocześnie widoczne (domyślnie 20). Oczywiście użytkownik będzie mógł wpisać do takiego pola dowolną liczbę znaków, niezależnie od atrybutu size="...". Maksymalna ilość znaków: <input type="text" name="nazwa" maxlength="X" /> W miejsce „X” podaje się maksymalną dopuszczalną ilość liter, z których może składać się odpowiedź - użytkownik nie będzie mógł wpisać dłuższego tekstu. 4. Pole hasła Odmianą okna tekstowego jest pole hasła, w którym wprowadzany tekst wyświetlany jest za pomocą „*”. Pole to może być formatowane atrybutami analogicznie jak pole tekstowe. <input type="password" name="nazwa" /> 5. Pole wyboru Formularz ten powoduje umieszczenie na stronie okna wyboru wraz z tekstem pytania. Pytanie?<br> <input type="checkbox" name="pyt_1" value="co" />Odpowiedź pierwsza<br> <input type="checkbox" name="pyt_1" value="gdzie" />Odpowiedź drugia<br> <input type="checkbox" name="pyt_1" value="kiedy" />Odpowiedź trzecia<br> Atrybut „value” zawiera wartość która w przypadku zaznaczenia boxa zostania wysłana w formularzu. W odróżnieniu okna tekstowego nazwa „name” dla każdej odpowiedzi na pytanie musi być taka sama. W niektórych przypadkach może zaistnieć konieczność aby niektóre pola wyboru były zaznaczone jako domyślne na TAK. <input type="checkbox" name="pyt_1" value="faktura" checked="checked" />Odpowiedź. 6. Pole opcji Pole opcji ma budowę i zasadę działania podobną do pola wyboru z tą różnicą, że wybrana może być tylko jedna z opcji. <input type="radio" name="nazwa" value="odp_1" />Odpowiedź 1<br> <input type="radio" name="nazwa" value="odp_2" />Odpowiedź 2<br> <input type="radio" name="nazwa" value="odp_3" />Odpowiedź 3<br> Zadając drugie zapytanie z polami opcji wystarczy zmienić tylko zawartość atrybutu „name” aby wybór był możliwy. 7. Listy rozwijane Kolejnym formularzem umożliwiający wybranie jednej lub kilku wartości ze zdefiniowanej wcześniej listy jest formularz listy rozwijanej. <select name="nazwa"> <option>Tu wpisz pierwszą możliwość</option> <option value="wartość">Tu wpisz drugą możliwość</option> </select> Jeżeli w formularzu ma być wysłana inna wartość niż ta zdefiniowana pomiędzy znacznikami <option></option>, należy wprowadzić do znacznika atrybut „value” z wybraną skróconą wartością. Zdefiniowana powyżej lista umożliwia dokonanie pojedynczego wyboru, w przypadku konieczności zastosowania wielokrotnego wyboru należy do znacznika <select> dodać atrybut multiple="multiple". 2 8. Obszar tekstowy Obszar tekstowy jest rozszerzoną wersją okna tekstowego, umożliwiający wprowadzanie do formularza większego tekstu, np.: treści wiadomości e-mail. <textarea name="nazwa" cols="X" rows="Y">Tekst domyślny opcjonalny</textarea> Pod wartości X i Y podstawia się odpowiednio liczbę znaków w wierszu i liczbę wierszy tekstu, określając w ten sposób rozmiar obszaru tekstowego na stronie WWW. 9. Selektor pliku Formularz ten składa się z dwóch elementów, okna tekstowego i przycisku który aktywuje okno wskazania pliku. Formularz ten stosuje się w celu wskazania pliku załącznika do wiadomości e-mail. W kodzie formularza należy zmodyfikować znacznik definicji formularza i dodać znacznik przycisku. <form action="..." enctype="multipart/form-data"> <input type="file" name="nazwa" /> </form> Niestety nie wszystkie przeglądarki potrafią właściwie zinterpretować kod tego formularza. W konsekwencji znajduje on zastosowanie tylko w przypadku stosowania skryptów php. 10. Przycisk – wysłanie formularza Wysłanie formularza można zrealizować za pomocą przycisku. <input type="submit" value="wartość" /> W miejsce wartości atrybutu „value” podaje się tekst wyświetlany na przycisku. Możliwe jest w miejsce standardowej grafiki przycisku wstawić własny obrazek. <input type="image" src="ścieżka dostępu do obrazka" alt="informacja alternatywna" /> 11. Czyszczenie formularza Za pomocą formularza przycisku można także wyczyścić dane wprowadzone do formularza. <input type="reset" value="wartość" /> 12. Wysyłanie formularza – e-mail’a Utworzony formularz po wypełnieniu danymi przez użytkownika po kliknięciu przycisku „Wyślij” powinien zostać przesłany wiadomością e-mail pod wskazany wcześniej adres. Standardowo po kliknięciu przycisku powinien uruchomić się domyślny program pocztowy systemu i automatycznie utworzona nowa wiadomość z zawartością formularza. Niestety w systemie Windows pojawiają się problemy. Standardowa przeglądarka nie przekazuje formularza w sposób właściwy i w efekcie otwierana jest pusta wiadomość email. Inne przeglądarki radzą sobie z tym lepiej. Rozwiązaniem tego problemu jest skorzystanie ze skryptów javascript lub php. W przypadku skryptu javascript, udostępnionego na stronie, korygowany jest problem z przesłaniem formularza przez przeglądarkę systemową. Poza skryptem, umieszczonym w obszarze nagłówkowym, konieczne jest właściwe zapisanie definicji formularza. <form action="mailto:adres e-mail?subject=temat" method="post" enctype="text/plain" onsubmit="mail_form(this); return false"> 3 Zastosowanie skryptu php zapewnia korzystania z programu pocztowego. wysłanie formularza bez konieczności ZADANIE Za pomocą znaczników formularzy napisać i umieścić na stronie ankietę której odpowiedzi zostaną przesłane na wybrany adres e-mail. 4