| Prova detta: <script type="text/javascript"> function validate_form(f){ var kod=f.regnr.value; var email=f.mail.value; var err=false; if(!(/^[0-9]{3} [a-z]{3}$/).test(kod)){ err=true; } if(!(/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/).test(email)){ alert("Ange rätt e-mail adress."); err=true; } if(err)return false; } </script> <form method="post"id="formular" action="klar.html" onsubmit="return validate_form(this);"> <legend>Bokningssida</legend> <h1>Bokning av beställning</h1> <p>Välkommen</p> <TABLE> <TR> <TD>Namn:</TD> <TD><input type="text" name="namn" size=30 value="Gustav Gustavsson"> *</TD> </TR> <TR> <TD>Mobilnummer:</TD> <TD><input type="text" name="teleNr" size=30> *</TD> </TR> <TR> <TD>Mailadress:</TD> <TD><input type="email" name="mail" size=30 class="required"> *</TD> </TR> <TR> <TD>Reg.nr:</TD> <TD><input type="text" name="regnr" size=30 class="required"> *</TD> </TR> <tr> <td>Datum:</td> <td> <select name="datumval" size="1" class="required"> <option> Välj ett datum här: </option> <option value="datum"> 080801 </option> <option value="datum"> 080802 </option> <option value="datum"> 080803 </option> <option value="datum"> 080804 </option> <option value="datum"> 080805 </option> <option value="datum"> 080806 </option> <option value="datum"> 080807 </option> </select> * </td> </tr> <tr> <td>Tid:</td> <td> <select name="tidsval" size="1" class="required"> <option> Välj tid här: </option> <option value="text" disabled="disabled"> ‐‐ Morgontider ‐‐ </option> <option value="tid"> 08:00 </option> <option value="tid"> 09:00 </option> <option value="tid"> 10:00 </option> <option value="tid"> 11:00 </option> <option value="text" disabled="disabled"> ‐‐ Lunchtider ‐‐ </option> <option value="tid"> 13:00 </option> <option value="tid"> 14:00 </option> <option value="text" disabled="disabled"> ‐‐ Eftermiddagstider ‐‐ </option> <option value="tid"> 15:00 </option> <option value="tid"> 16:00 </option> <option value="tid"> 17:00 </option> </select> * </td> </tr> <tr> <td>Meddelande:</td> <td><textarea name="meddelande" id="meddelande" cols="45" rows="5" class="required" >Jag önskar att det var städat i lokalerna.</textarea></td> </tr> <tr> <td>Vill du ha fika?</td> <td><input type="radio" name="fika" id="ja" value="ja" /><label for="ja">Ja tack</label><br /> <input type="radio" name="fika" id="nej" value="nej" checked="checked" /><label for="nej">Nej tack</label> </td> </tr> <tr> <td>Jag lovar att ha <br />med min <br />Triangel</td> <td> <input type="checkbox" name="triangel" id="triangel" value="triangel"/> * </tr> <tr> <td> </td> <td><INPUT TYPE=SUBMIT VALUE="Submit"></td> </tr> </table> </form> Jag rekommenderar dock att du lägger till ett felmeddelande för felaktig kod, och helst går över till något snyggare system än alert()-rutor (ex. jQuery). Om du vill lägga till fler kontroller för andra fält bör du söka på "regular expressions", och försöka anpassa koden som finns. Simon | | Tänkte börja med att säga att du är en stjärna! Tack så hemskt mycket för koden! Dock verkar den inte riktigt ge med sig. Den ser ut såhär tillsammans med min <form> nu. <snip> | | Detta bör vara ganska enkelt, även om implementationsdetaljerna beror på hur du vill att det ska se ut. I <form>uläret du använder ska du lägga till onsubmit="return validate_form(this);", och som JavaScript ska du skapa functionen validate_form. Den kan se ut t.ex. så här, men som sagt, exakt hur beror på hur du vill att användaren ska notifieras vid fel: <script type="text/javascript"> function validate_form(f){ var kod=f.kod.value; //byt ut 'kod' i 'f.kod.value' mot name="" på ditt kod-fält. var email=f.email.value; //dito var err=false; if(!(/^[0-9]{3} [a-z]{3}$/).test(kod)){ //koden har fel format alert("ERROR."); //Eller något annat, t.ex. $("#koderror").show("medium").html("Fel på formatet på koden."); i jQuery //Lägg till return false; om du vill avbryta formuläret och avsluta valideringsrutinen err=true; } if(!(/[e-mail regexp, sök på Google för en lämplig (finns många)]/).test(email); // (som ovan) alert("ERROR2."); err=true; } if(err)return false; //Om något fel alls, avbryt inskickning } </script> Hoppas det hjälper en del. Simon | | Hej. Sitter med en JavaScriptkod och har kört fast. Det jag vill göra är ett formulär (form) där man får fylla i namn, telefonnummer, mail kryssa några radioknappar och välja ur en rullmeny. Jag har gjort upp hela uppbyggnaden. Den ser alltså ut som den ska. Det jag inte fixar är: Varningsmeddelande om man missat att fylla i sitt namn/mail/telenr eller valt fel i en rullmeny. När man ska fylla i sin e-mail så vill jag att den måste skrivas korrekt, dvs namn@mail.com. Man ska fylla i en speciell kod. tre siffror ett mellanslag och tre bokstäver. Och man ska bara kunna skriva in det på det sättet. Jag skulle bli jätte glad om någon kunde hjälpa mig med det här! Tack på förhand /G |
|
|
|