WWW-lomakkeet

Mallivideot

Sähköpostilomake

Maililomake -mallivideo

Tehdään sähköpostin lähettämiseen tarkoitettu lomake. Tämän tyyppisiä lomakkeita käytetään usein myös Webmail-palveluissa. Esimerkkejä lomake-elementtien tekemiseen löydät luennolta 4. Lomakkeesta haluttaisiin oikeassa laidassa olevan kuvan kaltainen. Lomakkeen luontivaiheessa ei kannata välittää lomakkeen ulkoasusta.

Viestin lähettämislomake

  1. Tallenna malli.css W:\www\ -hakemistoon nimellä form.css (napauta linkkiä oikealla, valitse Save target as ja vaihda nimeä)
  2. Aloita uusi dokumentti HTML-kit:in valikosta File | New document. Muuta otsikkotietoihin css-tiedostoviitteeksi form.css (link-elementin href-ominaisuus). Muokkaa title- ja h1-elementit sopiviksi. Tallenna tiedosto nimellä mail.html W:\www\-hakemistoon.
  3. Lisää seuraavat rivit body-elementin sisälle:
    <form action="laheta.cgi" method="post" 
     enctype="multipart/form-data">
    </form>
    
    • Lomake-elementit tulevat form-elementin sisään.
    • action-attribuutti kertoo miten tai millä ohjelmalla lomakkeen lähetetyt tiedot käsitellään.
    • post-metodi (ei mitään tekemistä sähköpostin kanssa) kertoo tavan, jolla lomakkeen tiedot lähetetään.
    • enctype-ominaisuus kertoo muodon miten lomakkeen tiedot lähetetään. multipart/form-data-arvolla lomakkeen tieto lähetetään useassa osassa. Ominaisuutta tarvitaan lomakkeilla, joiden avulla voidaan siirtää tiedostoja. Tavallisella lomakkeella ominaisuutta ei tarvitse asettaa.
  4. Lisää lomakkeelle kolme tekstikenttää, joiden otsikoina (label-elementti) on vastaanottaja, kopio ja aihe. Yhdistä label-elementti ja lomakekenttä toisiinsa for- ja id-ominaisuuksilla!. Lisää jokaiselle input-elementille name-ominaisuus. Ominaisuus kertoo kentän nimen lomakkeen käsittelijälle (voi olla eri kuin id-attribuutti!).
  5. Lisää myös jatkossa kaikkiin lomake-elementteihin otsikko (label), tunniste (id) ja nimi (name).
  6. Kokeile sivua selaimella. Kentät saattavat tulla putkeen, jolloin niitä kannattaa ryhmitellä kappaleiksi merkitsemällä kukin input-elementti p-elementin sisälle. Laita tekstikentille myös kiinteä esityspituus size-ominaisuudella.
    <label for="to">Vastaanottaja:</label>
    <p><input type="text" id="to" name="to" size="40" /></p>
  7. Lisää valintalista viestin tärkeyden eli prioriteetin valinnalle. Laita valintalista p-elementin sisälle kuten edellä. Lisää valintavaihtoehdoiksi Korkea, Normaali ja Alhainen. Valitse vaihtoehdoista Normaali valituksi oletuksena.
  8. Lisää liitetiedostoille tiedostovalinta (esimerkki). Lisää submit-tyyppinen painike, jonka name-attribuuttiin arvoksi liite ja value-ominaisuuteen Lisää liite. Value-arvo tulee myös näkyviin itse painikkeeseen, mutta sen perusteella voi lomakkeen käsittelijä selvittää mitä nappia on painettu. Laita input-elementit omaan tekstikappaleeseen. Mitä puutteita nykyisessä lomakkeessa on liitetiedostojen suhteen? Voidaanko näitä toteuttaa tavallisella lomaketekniikalla? (kts. XForms)
  9. Lisää tiedostokentän sisältävän kappaleen alkuun piilokenttä. Sijoita name-attribuutin arvoksi liite_max_koko ja value-attribuuttiin arvo 1048576. Piilokentillä voidaan välittää tietoja lomakkeen käsittelijälle.
  10. Tee valintanappi, jolla valitaan lähetettävän tiedon muoto eli formaatti. Laita vaihtoehdoiksi Teksti, HTML ja XML. Valitse oletusvalinnaksi teksti. Muista, että valintalista kaikilla kohdilla on oltava sama name-attribuutin arvo.
  11. Täydennä lomake varsinaisella tekstialueella. Laita tekstialueelle näkymään 20 riviä, joista kunkin pituudeksi on 70 merkkiä.
  12. Lisää loppuun Lähetä viesti-painike.
  13. Ryhmittele lomakkeen osat fieldset- ja legend-elementeillä. Laita osien otsikoiksi Otsikkotiedot, Liitetiedostot ja Viestiosa. Lisää viestiosan (fieldset) sisällä oleva Formaatti-valinta vielä toiseen kertaan fieldset-elementillä ja anna alueen nimeksi Formaatti legend-elementillä.
  14. Tallenna ja validoi sivusi. Korjaa mahdolliset virheet.

Kyselylomake

Kyselylomake -mallivideo

Viestin lähettämislomake

Kuvitteellinen kahvilayritys haluaisi tehdä nettisivuilleen pienimuotoisen kyselylomakkeen, jolla he voisivat kartoittaa asiakkaiden maku- ja kokemusmaailmaa. Tee uusi dokumentti ja toteuta kuvan näköinen lomake kahvilan sivuston osaksi. Napauta mallikuvaa niin saat näkyviin isomman esimerkkikuvan. Määrittele aluksi XHTML-dokumenttiin sopivat lomake-elementit ja muokkaa vasta sen jälkeen lomakkeen ulkoasua. Lomakkeeseen tulevat seuraavat kohdat:

Toteuta ajan puitteissa ainakin toiminnallisuuden kannalta välttämättömät osat. Huomioi seuraavia asioita:

Lisätehtäviä: Ulkoasujen muotoilut

Lomakkeen ulkoasu -mallivideo

Muotoillaan CSS:llä lomakesivujen ulkoasua.

Sähköpostilomake

  1. Muotoillaan vielä hieman lomaketta. Lisää tyylitiedostoon form.css seuraavat rivit:
    form .tasa {
    	width: 15%;
    	float: left;
    	clear: both;
    }
    
    • form .tasa viittaa form-elementin sisällä olevaan elementtiin (jälkeläinen), jonka luokka (class) on tasa.
    • float-ominaisuudella otsikot saadaan liutettua vasempaan laitaan, jolloin tavalliset kappaleet tulevat otsikon perään.
    • clear-ominaisuudella voidaan estää kahden otsikon asettuminen vierekkäin, jolloin seuraava otsikko rivittyy edellisen alapuolelle.
    Merkitse nyt XHTML-dokumentissa Otsikkotiedot- ja Liitetiedostot-osien label-elementtien class-attribuutin arvoksi tasa.
    <label class="tasa" for="to">Vastaanottaja:</label>
    <p><input type="text" id="to" name="to" size="40" /></p>
    Testaa tasausta selaimella.
  2. Tee tyyli, joka liu'uttaa Lähetä viesti -painikkeen oikeen laitaan. Lisää liite-painike halutaan pitää kuitenkin lähellä tiedostovalintapainiketta. Tarvitset apuna css-valitsimia. Kaikki CSS-valitsimet eivät välttämättä toimi Internet Explorerissa!
  3. Lisää fieldset-elementeille valkoisesta eroavat taustaväri (väriksi esim. #dddd99 ). Kokeile saada erilainen väritys Formaatti-osioille (väriksi esim. #eeeebb ).
  4. Tallenna ja validoi CSS-tyylitiedosto.

Kyselylomake

Käyttäjien kommentit

Kommentoi tätä sivua Lisää uusi kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/www/demot/demo3/
© Antti Ekonoja (anjoekon@jyu.fi) <http://users.jyu.fi/~anjoekon/>
Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
Jukka Mäntylä (jmantyla@iki.fi) <http://www.iki.fi/jmantyla/>
2004-05-05 00:10:01
Informaatioteknologia - Jyväskylän yliopiston IT-tiedekunta ja avoin yliopisto