1.
Inledning
2. Verifiera inmatning 3. Radioknappar 4. Navigationsmeny 5. Markera text automatiskt 6. Validera ett formulär 7. Övningar Obs! 1. InledningMan kan använda JavaScript för att verifiera, validera och anpassa ett formulär. Men det fungerar inte alltid friktionsfritt, eftersom formulärobjekten hanteras något olika i olika webbläsare. Jag rekommenderar därför egentligen scripts som placeras på servern och då kanske framförallt ASP eller PHP. Här skall jag dock visa några enkla principer, som ni sedan kan gå vidare med. 2. Verifiera inmatningDu vet redan hur man anropar ett formulärs olika delar. Det har jag visat på de tidigare sidorna. Syntaxen ser ut så här: document.forms[0].value...
osv eller De attribut man använder i Html finns också i JavaScript. Följande exempel visar detta: Exempel 1 <script language="JavaScript"> + <form> Titta på exemplet i praktiken > Som du ser skapar funktionen ett villkor, där man kommer vidare endast om kryssrutan är ikryssad. Scriptet undersöker detta och väljer sedan antingen att skicka besökaren vidare eller ta fram en alert-ruta. Exemplet är inte fullständigt eftersom besökaren inte skickas vidare på något bra sätt. Du ser ändå principerna för hur det går till. 3. RadioknapparNär det gäller radioknappar är det lite svårare. Alla knappar måste då nämligen ha samma namn. Exempel 2 <script language="JavaScript"> + <form> Titta på exemplet i praktiken > Scriptet använder en funktion med en inledande variabel, form. Dess värde sätts till formuläret på sidan. Nu kan man använda variabeln för att hänvisa till hela formulärobjektet. For-satsen tar först reda på hur många förekomster av objekt med namnet betyg som finns. If-satsen undersöker vilket av dessa som är ikryssat. Break används för att avbryta loopen då ett värde har hittats. Funktionen går då vidare till raden då alert-rutan skapas. 4. NavigationsmenyEn navigationsmeny skapas med elementet <select>, samt det underliggande <option>. Detta objekt är betydligt mer komplicerat än de jag hittills visat på denna sida. Anledningen är att ett objekt som skapats med <select> kan visas som antingen en rullgardinsmeny eller popup-meny, med envals- eller flervalsmöjligheter. Ett av de vanligaste sätten att utnyttja objektet på är att göra en navigationsmeny. Jag redovisar här två olika scripts, för att du skall se hur man kan göra: Exempel 3 <script language="JavaScript"> + <form> Titta på exemplet i praktiken > När något av valen i listan aktiveras (onChange) anropas funktionen "Navigera". I funktionen finns variabeln "list", som antar det värde som valts i navigationslistan. Detta värde bestäms i sin tur i raden som börjar med objektet "location". Här hämtas värdet ur listan med kommandot options[]. Denna del letar upp motsvarande element i Html-koden och läser av de värden som finns där. Med egenskapen selectedIndex letas det första värdet upp, men sedan returneras det valda alternativet med efterledet ".value". Ett annat exempel ser ut så här: Exempel 4 <script language="JavaScript"> Titta på exemplet i praktiken > Som du ser använder jag här metoden "write()" och får scriptet att skriva ut Html-elementen direkt på sidan. Man kan lägga detta i en extern fil, t.ex med namnet "navigationsmeny.js". På så vis slipper man skriva koden på varje sida. Där man vill ha menyn placerar man följande kod: <script language="JavaScript" src="navigationsmeny.js" /> 5. Markera text automatisktFör att markera eller fokuser en text automatiskt i ett formulär kan man göra så här: Exempel 5 <form> Titta på exemplet i praktiken > Som du ser använder man metoden select() för att åstadkomma markeringen av texten. Metoden lämpar sig också för textrutor och andra textobjekt. Den går att använda för att göra besökaren uppmärksam på en viss text, underlätta kopieringen av en text för besökaren, osv. 6. Validera ett formulärI denna genomgång tänkte jag avsluta med ett exempel på hur man kan kontrollera att ett formulär är ifyllt innan det skickas. Scriptet innehåller nyckelordet this, som du redan stiftat bekantskap med och som skrivs så här: <form onSubmit="return Validera(this)"> (this) anropar här funktionen, där motsvarande text står: function Validera(form) { Här ersätter man alltså document.forms[0] med ett nyckelord, som alltså används som en genväg: Exempel 6 <script language="JavaScript"> + <form onSubmit="return
Validera(this)"> Titta på exemplet i praktiken > En annan knepig detalj här är att onSubmit står i <form>-elementet och inte i elementet för skicka-knappen. Förklaringen jag har fått är att onSubmit fungerar bättre i <form> då man vill kunna validera hela formuläret. Övriga scriptet borde du känna till vid det här laget. For-satsen säger att för varje element i formuläret så... If-satsen säger att om värdet är tomt (inget ifyllt) så skall alert-rutan visas. "Return false" gör att besökaren får börja om. "Return true" gör så besökaren kommer vidare, då alla fält är ifyllda. 7. ÖvningarÖvning
1 Övning
2 Övning
3 Övning
4 Övning
5 |