WWW-lomakkeet - Demo 5

Seuraavissa tehtävissä toteutetaan WWW-lomake, jonka avulla on kartoitetaan TV-ohjelmien katsomistottumuksia. Seuraavissa tehtävissä kokeillaan erilaisia lomakkeen ominaisuuksia, joten mieti jokaisen lomakekentän yhteydessä olisiko asia voitu toteuttaa paremmin. Ajatuksia, ideoita ja vinkkejä voit hakea kurssin luennolta 8.

  1. Kopioi seuraavassa oleva HTML-sivun koodi lomakesivusi pohjaksi. Seuraavissa tehtävissä määriteltävät lomake-elementit tulevat form-elemetin sisään. Huomaa, että lomakerungossa on seuraavat määritykset valmiina:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi">
    <head>
    
    <title>Esimerkkilomake</title>
    </head>
    <body>
    <h1></h1>
    <form action="http://appro.mit.jyu.fi/cgi-bin/laheta/laheta.cgi"
      method="post">
    
    </form>
    </body>
    </html>
    
  2. Tee kuusi yksirivistä tekstikenttää (input-elementin text-tyyppi), joiden avulla kysytään käyttäjän osoitetietoja.

    Kiinnitä erityisesti huomiota lomake-elementtien nimeämiseen (name-ominaisuus), koska lomakkeen lähettämisen yhteydessä nimi tulee näkyviin!

  3. Lisää kenttien otsikoiksi label-elementti ja yhdistä label-elementti ja lomakekenttä toisiinsa for- ja id-ominaisuuksilla!
  4. Tallenna ja validoi lomakesivu ennen tehtävien jatkamista.
  5. Toteuta vastaajan sukupuolen kysyminen valintanapin (input-elementin radio-tyyppi) avulla. Seuraavassa on esitetty esimerkkivaihtoehdot:

    Varmista valintanapin toiminta selainikkunassa. Jos saat valinnan useampaan nappiin yhtä aikaa, niin tarkista name-attribuutin arvot!

  6. Toteuta vastaajan ikäjakauman kysyminen valintanapin (radio) avulla. Seuraavassa on esitetty esimerkkivaihtoehdot:

    Onko ikäjakauman kysymiseen olemassa muita vaihtoehtoja? Millaisia ne ovat ja miten ne toimivat käyttäjän kannalta? Mitä on pielessä esimerkkivaihtoehdoissa?

  7. Tallenna ja validoi lomakesivu ennen tehtävien jatkamista.
  8. Toteuta vastaajan sivilisäädyn kysyminen valintaruudun (input-elementin checkbox-tyyppi) avulla. Seuraavassa on esitetty esimerkkivaihtoehdot:

    Onko siviilisäädyn kysymiseen olemassa muita vaihtoehtoja? Millaisia ongelmia valintaruudun käyttäminen aiheuttaa?

  9. Laita jokin alkio edellisestä valintaruudusta oletusarvoksi (checked="checked").
  10. Toteuta vastaajan kielitaidon kysyminen valintaruudun (checkbox) avulla. Seuraavassa on esitetty esimerkkivaihtoehdot:
  11. Toteuta vastaajan koulutuksen kysyminen valintalistan (select-elementti) avulla. Seuraavassa esimerkkivaihtoehdot:
  12. Tee seuraavaksi lomakkeelle lähetyspainike (input-elementin submit-tyyppi) ja kokeile lomakkeen toimintaa. Jos lomake on tehty oikein, niin lähettämisen jälkeen pitäisi tulla näkyville palaute, jossa kiitetään tilauksen tekemisestä sekä luetellaan kaikki lähetettyjen kenttien nimi:arvo-parit.
  13. Toteuta vastaajan televisionkatseluajan kysyminen useampivalintaisen (multiple="multiple") valintalistan (select) avulla. Seuraavassa on esitetty esimerkkivaihtoehdot:

    Mikä lomake-elementti soveltuisi mielestäsi paremmin katseluajan kysymiseen?

  14. Laita jokin edellisen valintalistan alkio oletusarvoksi (selected="selected").
  15. Toteuta vastaajan suosikkiohjelman kysyminen yksivalintaisen valintalistan (select) avulla. Käytä eri kanavien ohjelmien erottamiseen option-listan ryhmittelyä eli optgroup-elementtiä. Kokeile eri selaimilla miten optgroup toimii. Seuraavassa on esitetty esimerkkivaihtoehdot:
  16. Tee loppuun vielä useampirivinen vapaatekstikenttä (textarea-elementti), johon käyttäjä voi kirjoittaa mielipiteensä kyselystä.
  17. Kokeile lomakkeen toimintaa ja varmista, että kaikki lomakkeen kenttiin täytetyt arvot tulevat näkyville oikein palautesivulle.
  18. Ryhmittele kysymykset fieldset-elementin avulla aihealueen mukaan ja tee ryhmälle otsikot legend-elementillä. Esimerkiksi henkilötiedot kannattaa laittaa omaksi ryhmäkseen.
  19. Seuraavaksi muokataan lomakkeen tiedot käsittelevän CGI-ohjelman toimintaa. Ohjelman toimintaa voidaan muokata seuraavassa listassa esiteltyjen piilokenttien (input-elementin hidden-tyypin) avulla. Kokeile lomakkeen toimintaa jokaisen muutoksen jälkeen. Tarkemmat ohjeet löytyvät cgi-ohjeesta.
  20. Tarkista lomaketiedostosi syntaksi validaattorilla.
  21. Tarkista lomaketiedostosi esteettömyys Bobbylla.

Lisätehtävät

  1. Määrittele lomakekentille tabindex-ominaisuudella poikkeava tabulointijärjestys. Kokeile tabulointijärjestyksen toimintaa eri selaimilla!
  2. Määrittele kenttien otsikoille accesskey-ominaisuuden avulla pikanäppäimet. Kokeile pikanäppäinten toimintaa eri selaimilla.
  3. Muotoile lomakkeen ulkoasu tyylien avulla haluamallasi tavalla. Kokeile määritysten toimintaa eri selaimissa!
http://appro.mit.jyu.fi/tietoverkot/demot/demo5/
© Tommi Lahtonen (tjlahton@mit.jyu.fi)<URL: http://www.iki.fi/hazor/>
2002-11-20 09:13:33