WWW-lomakkeet - Demo 6
Mallivideot
HUOM! Demojen sisältö on muuttunut hiukan videoiden luomisen jälkeen, joten ne eivät päde ihan suoraan demotehtävien tekemiseen. Myöskin käytettävä editori vaikuttaa hiukan demotehtävien suorittamiseen. Videoista saa kuitenkin pääkohdat demotehtävien tekemiseen.
- sposti.wmv (Amaya) 4.4M
- lomake_muotoilu.wmv 925K
- kahvila.wmv (XetorjEdit) 9.6M
Näissä demoissa opetellaan WWW-lomakkeisiin liittyviä asioita.
Sähköpostilomake
Tehdään sähköpostin lähettämiseen tarkoitettu lomake. Esimerkkejä lomake-elementtien tekemiseen löydät luennolta 7. Lomakkeen rakenteesta halutaan oikeassa laidassa olevan kuvan kaltainen (kuvaa klikkaamalla näet sen suurempana). Ulkoasu määrätään vasta lomakkeen luonnin jälkeen, joten aluksi ei kannata välittää ulkoasusta.
- Luo W:\www\-hakemistoon alihakemisto demo6. Tallenna lomake.css demo6-hakemistoon.
- Aloita uusi XHTML-dokumentti. Laita nimeksi index.html ja tallennushakemistoksi demo6.
- Lisää linkki CSS-tyylitiedostoon lomake.css.
- Muokkaa sivun title- ja h1-elementit sopiviksi.
- Lisää XHTML-sivulle lomake (form). Älä toistaiseksi laita mitään action-attribuuttiin.
- Lisätään lomakkeelle tekstikenttä. Lisää ensin
label-elementti. Kirjoita otsikkotekstiksi Aihe. Napauta enteriä otsikkotekstin jälkeen ja lisää tekstikenttä (input-elementti). Laita lopuksilabel-elementti jainput-elementti samanp-elementin sisään. - Lisää input-elementille id-ominaisuuteen oma, yksilöllinen arvo.
- Yhdistä label-elementti ja lomakekenttä toisiinsa for-ominaisuudella.
- Tallenna dokumentti. Avaa lomake selaimessa ja testaa, että label- ja input-elementit ovat yhdistettyinä napauttamalla lomakekentän otsikkoa. Nyt kursorin pitäisi mennä siihen lomakekenttään, johon yhdistäminen on tehty.
- Lisää input-elementille name-ominaisuus. Ominaisuus kertoo kentän nimen lomakkeen käsittelijälle (voi olla eri kuin id-attribuutti!).
- Kokeile sivua selaimella. Laita tekstikentille vielä kiinteä esityspituus size-ominaisuudella:
<p><label for="aihe">Aihe:</label> <input type="text" id="aihe" name="aihe" size="40" /></p>
- Tee uusi kappale (
p). Lisää kappaleen sisään label-elementti, johon teksti Prioriteetti. - Lisää kappaleen sisään label-elementin jälkeen
valintalista (
select). - Kirjoita
option-elementteihin vaihtoehdot Korkea, Normaali ja Alhainen.<option>Normaali</option>
- Valitse vaihtoehdoista Normaali valituksi oletuksena (
selected="selected"). - Yhdistä
label- jaselect-elementti toisiinsafor- jaid-ominaisuuksilla. Annaselect-elementillename-ominaisuuteen jokin järkevä arvo. - Tee uusi kappale (
p). Lisää edelliseen tapaan kappaleen sisälle uusi label, jonka sisällöksi kirjoitat Vastaanottaja ja valintalista (select). - Lisää valintalistan sisään valintaryhmä (
optgroup). Anna valintaryhmälle otsikoksi (label) Opettajat. - Lisää valintaryhmään kolme valintaa (
option):- Antti Ekonoja
- Jukka Mäntylä
- Tommi Lahtonen
- Lisää toinen valintaryhmä, jolle annat otsikoksi (
label) Tuntiopet ja lisää valinta (option):- Mikko Aarnio
- Jaakko Kaski
- Kokeile lomakkeen toimintaa Firefoxissa.
- Lisää jokaisen edellä lisätyn valinnan (option) value-ominaisuuden arvoksi kyseisen henkilön sähköpostiosoite:
- Antti: anjoekon@jyu.fi
- Jukka: jmantyla@mit.jyu.fi
- Tommi: tommi.j.lahtonen@jyu.fi
- Mikko: mipeaarn@jyu.fi
- Jaakko: jkaski@jyu.fi
<option value="anjoekon@jyu.fi">Antti Ekonoja</option>
- Muuta vielä valintalistalle mahdollisuus valita useampi vastaanottaja. Laita siis
valintalistan multiple-ominaisuuden arvoksi multiple.
Laita myös valintalistan name-ominaisuuden arvoksi vastaanottaja.
<select name="vastaanottaja" id="vastaanottaja">
- Kokeile Firefoxilla lomakkeen toimintaa. CTRL- ja SHIFT-näppäimien avulla voit valita useamman vastaanottajan.
- Tehdään valintanappi-lista
formaatin valinnalle. Lisää uusi
p-elementti, jonka sisään laitalabel-elementti, jonka sisälle lisäät suoraanradio-painikkeen, ja vasta tämän jälkeen otsikkotekstiksi Teksti.<p><label><input type="radio" value="" />Teksti</label></p>
-
Nyt label- ja input-elementti liittyvät
suoraan toisiinsa ilman for-ominaisuutta. Lisää vielä kaksi
label- jainput-paria (molemmat omanp-elementin sisään). Laita otsikoiksi HTML ja XML. - Lisää kaikille valintanapeille sama arvo
name-attribuuttiin. -
Anna kullekin valintanapille oma arvo
value-attribuuttiin, joka näkyy lomakkeen käsittelijälle tietoja lähetettäessä. - Valitse oletusvalinnaksi Teksti lisäämällä kyseiselle
input-elementille määrechecked="checked". Ryhmän otsikko Formaatti lisätään myöhemmin.<p><label><input type="radio" checked="checked" value="" />Teksti</label></p>
-
Lisää uusi
label, jonka otsikoksi kirjoitat Lähetä myös tekstiviesti. Lisäälabel:in sisälle valintaruutu (checkbox). - Aseta valintaruudun name-ominaisuuden arvoksi tekstiviesti ja value-ominaisuuden arvoksi Kyllä.
- Lisää vielä toinenkin valintaruutu otsikon (
label) kera. Kirjoita otsikoksi Lähetä myös tavallinen kirje. Keksi tälle valintaruudulle järkevät arvot value- ja name-ominaisuuksiin. - Tee uusi kappale (
p-elementti). Lisää kappaleen sisään ensinlabel-elementti tekstillä Viesti. - Täydennä lomake varsinaisella tekstialueella
(
textarea, lisää se myös samanp-elementin sisään, missälabel-elementtikin on). Laita tekstialueelle näkymään 20 riviä (rows), joista kunkin pituudeksi 50 merkkiä (cols). Nimeä tekstialue antamallaname-ominaisuuteen jokin sopiva arvo. - Lisää loppuun vielä yksi
p-elementti ja sen sisälle Lähetä viesti -painike (submit). Anna painikkeen teksti kirjoittamalla sopiva arvovalue-ominaisuuteen. - Lisää kullekin lomake-elementille (input, select, textarea) vielä
tabindex-ominaisuuteen numeroarvo, joka kertoo monesko elementti on sarkainjärjestyksessä. Ominaisuutta tarvitaan erityisesti silloin, jos elementtien käyntijärjestys ei ole sama kuin esiintymisjärjestys XHTML-dokumentissa. - Ryhmittele lomakkeen osat fieldset-
ja legend-elementeillä.
Katso mallia demon alussa olevasta mallikuvasta (Otsikkotiedot ja Viestiosa siis omiksi ryhmikseen). Kirjoita
ryhmän alkuun
<fieldset>ja loppuun</fieldset>. Ryhmittelyt tulevatform-elementin sisälle. - Ryhmän otsikko lisätään
fieldset-elementin sisälle<legend> ... </legend>-elementillä. Laita osien otsikoiksi Otsikkotiedot ja Viestiosa. - Lisää viestiosan (fieldset) sisälle toinen fieldset-ryhmä, jonka sisälle rajaat formaatti-valintanapit. Anna alueen nimeksi Formaatti legend-elementillä.
- Lisää viestiosan (fieldset) sisälle myös toinen fieldset-ryhmä, jonka sisälle rajaat Lähetä myös tekstiviesti ja Lähetä myös tavallinen kirje -valintaruudut. Anna alueen nimeksi Lisäasetukset legend-elementillä.
- Muokkaa seuraavaksi
form-elementin ominaisuuksia: - Tallenna ja testaa lomaketta selaimella. Kokeile lähettää lomake painamalla Lähetä viesti -painiketta, niin näet millaisia tietoja lomake lähettää lomakkeen käsittelijälle.
Lomakkeen muotoilu
Lomakkeen muotoilu -mallivideo
Lomake-elementtien ulkoasun muokkaaminen toimii yleensä ottaen aika huonosti, sillä selaimiin on määrätty usein melko kiinteästi, miltä lomakkeet näyttävät. Hieman asemointia kuitenkin pystyy tekemään:
- Valitse Web Developer Toolbarista CSS | Edit CSS.
- Lisää
fieldset-elementille taustasta poikkeava väri. Värin voit valita myös kuvasta tai paletista ColorZilla-työkalun avulla. - Muuta kaikkiin lomake-elementteihin (input, option, textarea) tasalevyinen kirjasin eli esimerkiksi Courier New ja yleisvaihtoehto monospace.
- Määrää erilainen taustaväri toisen
fieldset-lohkon sisällä olevallefieldset-lohkolle. - Tasataan lomake-elementit samalle tasolle vaakasuunnassa. Muuta ensin CSS:ssä
label-elementin rivittyminen tekstin tasosta (engl. inline) lohkoksi (engl. block). - Määrää
label-elementin leveydeksi 30%. - Liu'uta (
float)label-elementit vasempaan laitaan, jolloin lomake-elementit rivittyvätlabel-elementtien oikealle puolelle. - Estetään vielä toisen
label-elementin rivittyminen samalle riville toisenlabel-elementin kanssa. Tämä onnistuuclear-ominaisuudella. - Lisää myös
textarea-elementilleclear-ominaisuus, jolloin saat sen rivittymään otsikon alapuolelle. Teetextarea-elementistä vielä lohkotason elementti, niin se rivittyylabel-elementin alapuolelle. - Tallenna tyylitiedoston muutokset lomake.css-tiedostoon.
Lisätehtävät
Kuvitteellinen kahvilayritys haluaisi tehdä nettisivuilleen pienimuotoisen kyselylomakkeen, jolla he voisivat kartoittaa asiakkaiden maku- ja kokemusmaailmaa. Kävijöiltä halutaan kerätä tietoja seuraavasti:
Kyselylomakkeen tiedot
- Taustatiedot
- Sähköpostiosoite (tekstikenttä)
- Oletuksena etunimi.sukunimi@yritys.invalid
- Ikä (valintalista), jossa vaihtoehdot
- < 15 vuotta
- 15 - 20 vuotta
- 20 - 25 vuotta (oletus)
- 25 - 30 vuotta
- > 30 vuotta
- Sähköpostiosoite (tekstikenttä)
- Palaute
- Suosikkijuoma (valintaruutu), jossa vaihtoehtoina:
- kahvi
- espresso
- cappuccino
- makuteet
- limonadi (oletus)
- Musiikki (usean vaihtoehdon valintalista), jossa vaihtoehdot ryhmiteltynä (optgroup) seuraavasti:
- Jazz
- Perinteinen Jazz (oletus)
- Vokaalipainotteinen jazz
- Groove Jazz
- Blues
- Rhythm & Blues
- Kitarablues
- Pop
- MTV-dance
- Trance-tekno
- Rauhallinen elektroninen
- Jazz
- Suosikkijuoma (valintaruutu), jossa vaihtoehtoina:
Tehtävät
- Luo demo6-hakemistoon uusi hakemisto kahvila. Luo uusi XHTML-dokumentti tähän hakemistoon index.html-nimellä. Laita link-elementti viittaamaan form.css:ään ja luo tätä varten uusi tyhjä tiedosto.
- Toteuta kuvan mukainen lomake osaksi kahvilan sivustoa. Napauta mallikuvaa, niin saat näkyviin isomman esimerkkikuvan.
- Määrittele XHTML-dokumenttiin sopivat lomake-elementit. Huomioi vaatimusmäärittelyssä annetut asiat. Ulkoasusta ei kannata välittää vielä lomake-elementtejä tehdessä. Ulkoasua voit miettiä mallikuvan mukaiseksi demon lopuksi, jos jää ylimääräistä aikaa.
- Tarkista, että erikoismerkit tulevat oikealla tavalla koodatuiksi, esim. < = <, > = > ja & = &.
- Kopioi edellisen lomakkeen muotoiluista sopivat määreet tämän lomakkeen CSS-tyylitiedostoon form.css.
- Lisää CSS:n avulla sopivat värimääritykset lomakkeen eri osiin (esim. #ffeeff ja #fffcff ). Tallenna taustakuvio samaan hakemistoon lomakkeen kanssa ja määrittele lomakkeelle toistuva taustakuviointi viittaamalla siihen CSS:ssä.



Käyttäjien kommentit