HT16 - DA156A - Tabeller och formulär

51
Föreläsning 3 Tabeller & Formulär, m.m.

Transcript of HT16 - DA156A - Tabeller och formulär

Page 1: HT16 - DA156A - Tabeller och formulär

Föreläsning 3Tabeller & Formulär, m.m.

Page 2: HT16 - DA156A - Tabeller och formulär

Dagens föreläsning

• Repetition• Webbsidor, klient/server• Element för text/länkar/bilder

• Tabeller• Hur, var, när, varför?• Grundläggande tabeller• Mer avancerade tabeller

• Formulär• Hur, var, när, varför?• Att skicka data med HTML• Grundläggande formulärselement• HTML 5 & nya möjligheterna med formulär

Page 3: HT16 - DA156A - Tabeller och formulär

Element?

Page 4: HT16 - DA156A - Tabeller och formulär

Hur fungerar det?

Internet

Klient

Klient

Server

Page 5: HT16 - DA156A - Tabeller och formulär

Resultat

• En webbläsare visar oss en webbsida efter att ha renderat ett HTML-dokument

Page 6: HT16 - DA156A - Tabeller och formulär

Vad består en webbplats av?

JavaScript

CSS

HTML

Innehåll

Interaktivitet

Utformning

Struktur

Innehåll

Page 7: HT16 - DA156A - Tabeller och formulär

HTML-dokumentet i helhet

Page 8: HT16 - DA156A - Tabeller och formulär

HTML-dokument som träd

Page 9: HT16 - DA156A - Tabeller och formulär

Element vi hittills tittat på

• <h1>-<h6>

• <p>

• <em>

• <strong>

• <ul>, <ol>

• <li>

• <img>

• <a>

Page 10: HT16 - DA156A - Tabeller och formulär

TabellerI HTML

Page 11: HT16 - DA156A - Tabeller och formulär

Tabeller

• Tabeller är ett kraftfullt sätt att strukturera upp information• Strukturera upp data vid informationspresentation

• Tänk ”excel”

Page 12: HT16 - DA156A - Tabeller och formulär

Tabeller - uppbyggnad

• En tabell är, precis som i excel, uppbygg av rader och kolumner

• Tabeller består oftast utav:• Tabellhuvud

• Tabellrubriker

• Tabellkropp• Tabelldata

• Tabellfot• Tabellsammanfattning

• En tabell består således utan• Rader• Kolumner

Page 13: HT16 - DA156A - Tabeller och formulär

Grundläggande element för tabeller

• <table> Skapar en tabell

• <caption> Beskrivning/rubrik för tabell

• <tr> tabellrad (table row)

• <th> Rubrik-kolumn (table header)

• <td> Data-kolumn (table data)

• Obs, alla taggarna har start- och slutttagg.

Page 14: HT16 - DA156A - Tabeller och formulär

Dags att rita tabeller!… och se hur det fungerar i HTML

Page 15: HT16 - DA156A - Tabeller och formulär

Mer avancerade tabellelement

• <thead> Tabellhuvud

• <tfoot> Tabellfot

• <tbody> Tabellkropp

• T.ex.<table>

<thead>…</thead><tfoot>…</tfoot><tbody>…</tbody>

</table>

Page 16: HT16 - DA156A - Tabeller och formulär

… fler möjligheter med tabeller

• Det finns lägen då man inte vill att alla rader/kolumner ska se exakt lika ut:• En kolumn som sträcker sig över x antar kolumner

Page 17: HT16 - DA156A - Tabeller och formulär

Men behöver man <thead>, <tbody>, <tfoot>?• Det är semantiskt bra att förstå vilka delar av tabellen som innehåller

vilken information

• Det är enklare att formge de olika delarna av tabellen

• Det är enklare för andra att förstå tabellen

• Man kan t.ex. ”låsa” fast tabellhuvudet & tabellfoten och skrolla tabellinnehållet

Page 18: HT16 - DA156A - Tabeller och formulär

… fler möjligheter med tabeller

• Det finns lägen då man inte vill att alla rader/kolumner ska se exakt lika ut:• En kolumn som sträcker sig över x antar rader

Page 19: HT16 - DA156A - Tabeller och formulär

Frågor om tabeller?

Page 20: HT16 - DA156A - Tabeller och formulär

Demo för tabellerI ett HTML-dokument

Page 21: HT16 - DA156A - Tabeller och formulär

FormulärAtt skicka data genom HTML

Page 22: HT16 - DA156A - Tabeller och formulär
Page 23: HT16 - DA156A - Tabeller och formulär

Varför formulär?

• Vi vill skicka data till en server• Inloggningsuppgifter

• Skapa twitter-post

• Göra facebook-inlägg

• Lägga till annan data i olika databaser

• Vi ska i denna kurs bara fokusera på att skicka data inte vad som faktiskt händer med den när den kommer till servern.

Page 24: HT16 - DA156A - Tabeller och formulär

När används formulär?

Page 25: HT16 - DA156A - Tabeller och formulär
Page 26: HT16 - DA156A - Tabeller och formulär

Översikt - olika element i ett formulär

Knapp

Text-fält (stort)

Text-fält

Checkboxar

Radioknappar

Drop-down meny

Page 27: HT16 - DA156A - Tabeller och formulär

Varför används formulär?• Ett sätt att skicka data från klienten (webbläsaren) till en server

- Spara data- Validera data- Analysera data

Page 28: HT16 - DA156A - Tabeller och formulär

Hur fungerar det?

Internet

Klient

Klient

Server

firstName=AntonlastName=Tibblincourse=DA156A

Page 29: HT16 - DA156A - Tabeller och formulär

Att skapa ett formulär i HTML

• Taggen <form> omsluter ett formulär. <form> har olika attribut:

• ”action”- Var formuläret ska skickas

• ”method”- På vilket sätt den data som användaren angett ska skickas. Antingen GET eller POST

Page 30: HT16 - DA156A - Tabeller och formulär
Page 31: HT16 - DA156A - Tabeller och formulär

Komponenterna igen (de vanligaste)

Knapp

Text-fält (stort)

Text-fält

Checkboxar

Radioknappar

Drop-down meny

Page 32: HT16 - DA156A - Tabeller och formulär

Inhämtning av data från användaren

• Detta kan göras av taggen <input> som kan representera olika delar av ett formulär

• Notera att <input> är en öppen tagg och saknar sluttagg

• Attribut:- Name Namnger input-elementet- Value Ev. värde på en knapp/i ett textfält- Type Vilken typ elementet ska vara t.ex.

knapp/textfält/radioknapp/checkbox osv.

Page 33: HT16 - DA156A - Tabeller och formulär

Att skapa input-element

Page 34: HT16 - DA156A - Tabeller och formulär

Att skicka data med formulär

• Data struktureras upp med:- Namn, hur man identifierar det man skickat- Värde, den information man skickar

• T.ex.firstName=AntonlastName=Tibblincourse=DA156A

Page 35: HT16 - DA156A - Tabeller och formulär
Page 36: HT16 - DA156A - Tabeller och formulär

GET/POST

• GET innebär att man skickar med den information som användaren angett genom URL (adressen till sidan)

• POST innebär att man skickar informationen ”bakom kulisserna”

• Standard är att man skicka mer GET (om inget annat anges)

Page 37: HT16 - DA156A - Tabeller och formulär

GET/POST

Page 38: HT16 - DA156A - Tabeller och formulär

Hur fungerar det?

Internet

Klient

Klient

Server

firstName=AntonlastName=Tibblincourse=DA156A

Page 39: HT16 - DA156A - Tabeller och formulär

Inhämtning av data från användaren

• Detta kan göras av taggen <input> som kan representera olika delar av ett formulär

• Notera att <input> är en öppen tagg och saknar sluttagg

• Attribut:- Name Namnger input-elementet- Value Ev. värde på en knapp/i ett textfält- Type Vilken typ elementet ska vara t.ex.

knapp/textfält/radioknapp/checkbox osv.

Page 40: HT16 - DA156A - Tabeller och formulär

Exempel av input-taggen<input type=”text” name=”firstName” value=”Förnamn här”>

<input type=”password” name=”password” value=”Lösen”>

<input type=”button” value=”Min knapp”>

<input type=”submit” value=”Skicka”>

<input type=”radio” name=”choice”>

<input type=”checkbox” name=”choice2”>

Page 41: HT16 - DA156A - Tabeller och formulär

Andra attribut för <input>-taggen

• För checkboxar & radioknappar – om boxen ska vara inkryssad som standard:checked=”checked”

<input type="checkbox" checked="checked">

<input type="radio" checked="checked">

Page 42: HT16 - DA156A - Tabeller och formulär

Gömda fält

• Man kan även skicka vidare information från förmulär genom gömda fält.

• Det innebär att fältet ligger ”osynligt” i bakgrunden.

• Även osynlig fält kan ha namn och värde

• T.ex.<input type=”hidden” name=”namn” value=”anton”>

• Detta kommer alltså inte att synas på HTML-sidan

Page 43: HT16 - DA156A - Tabeller och formulär

Textarea – För längre texter

• Har till skillnad från <input> en start- och en sluttag.

• Attribut:- name (samma funktion som för <input>)- rows, antalet rader (höjd på text-rutan)- cols, antalet kolumner (bredd på text-rutan)

• <textarea cols=”10” rows=”3” name=”textfield”></textarea>

• <textarea cols=”10” rows=”3” name=”textfield”>Hej</textarea>

Page 44: HT16 - DA156A - Tabeller och formulär

Select – Drop down-meny

• Menyn definieras genom taggen <select></select>

• Varje alternativ i drop down-menyn skapas genom taggen<option></option>

• För att kunna veta namn och värde på det som skickas gör man:

<select name=”namn”><option value=”anton”>Anton</option><option value=”kalle”>Kalle</option><option value=”Johan”>Johan</option>

</select>

Page 45: HT16 - DA156A - Tabeller och formulär

Etiketter för formulärselement

• Beskriver imatningsfälten

• Ökar användbarheten

<label>Namn</label>

<input type=”text” name=”namn”>

Ännu bättre:

<label for=”namn”>Namn</label>

<input type=”text” name=”namn” id=”namn”>

Page 46: HT16 - DA156A - Tabeller och formulär

Nytt och roligt i HTML 5

Page 47: HT16 - DA156A - Tabeller och formulär

Användbara attribut

• ”reqiured”, göra ett fält obligatoriskt

• ”placeholder”, en exempeltext för fältet

Page 48: HT16 - DA156A - Tabeller och formulär

Nya typer för input (i formulär)

• color

• date

• datetime

• datetime-local

• email

• month

• number

• range

• search

• tel

• time

• url

• Week

• http://www.w3schools.com/html/html5_form_input_types.asp

Page 49: HT16 - DA156A - Tabeller och formulär

Nya funktioner i HTML 5

Page 50: HT16 - DA156A - Tabeller och formulär

Autocomplete i formulär

• <input list="browsers">

<datalist id="browsers"><option value="Internet Explorer"><option value="Firefox"><option value="Chrome"><option value="Opera"><option value="Safari">

</datalist>

• http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_datalist

Page 51: HT16 - DA156A - Tabeller och formulär

Bygga ett formulär