07. december 2009 - 21:12
Der er
6 kommentarer og 1 løsning
Hjælp til simpel alert
Først og fremmest vil jeg gerne forenkle denne kode, dels så den bliver mindre og så den ikke kommer op med en alert for hver enkelt ting. Kom gerne med flere råd om hvordan i synes koden skal være :) på forhånd tak <script type="text/javascript"> function valider(f){ if(f.fornavn.value==''){ alert('*Navn'); f.fornavn.focus(); return false; } function valider(f){ if(f.emne.value==''){ alert('*emne'); f.emne.focus(); return false; } if(f.efternavn.value==''){ alert('*Efternavn'); f.efternavn.focus(); return false; } if(f.cpr1.value==''){ alert('*Fødelsdagsdato'); f.cpr1.focus(); return false; } if(f.cpr2.value==''){ alert('*Kontrolcifre'); f.cpr2.focus(); return false; } if(f.adresse.value==''){ alert('*Adresse'); f.adresse.focus(); return false; } if(f.postnummer.value==''){ alert('*Postnummer'); f.postnummer.focus(); return false; } if(f.by.value==''){ alert('*By'); f.By.focus(); return false; } if(f.tlf.value==''){ alert('*Telefon'); f.tlf.focus(); return false; } if(f.email.value==''){ alert('*E-mail'); f.email.focus(); return false; } var regexp = /^\w[\w\.\-]*@\w[\w\-]*\.\w{2}/i; if(f.email.value!=''&&!f.email.value.match(regexp)){ alert('*Ugyldig email'); f.email.focus(); return false; } return true; } </script> // Her er form hvis man vil bruge den <form method="post" action="tilmeldt.php" style="width: 238px" onsubmit="return valider(this)"> <table width="800" cellpadding="0" cellspacing="0" style="width: 658px; height: 1px"> <tr> <td colspan="4"> <input checked="checked" name="valg" value="Uddannelse" type="radio" />Uddannelse <input name="valg" value="Kursus" type="radio" />Kursus</td> </tr> <tr> <td style="width: 101px">Navn på ønsket uddannelse/kursus<span class="style1">*</span><span class="style1"></span></td> <td width="227" style="width: 227px"><input name="emne" type="text" /></td> <td width="68" style="width: 68px"> </td> <td width="362"> </td> </tr> <tr> <td style="width: 101px">Fornavn<span class="style1">*</span></td> <td width="227" style="width: 227px"><input name="fornavn" type="text" /></td> <td width="68" style="width: 68px">Efternavn<span class="style1">*</span></td> <td width="362"><input name="efternavn" type="text" /></td> </tr> <tr> <td style="width: 101px">CPR nr.<span class="style1">*</span></td> <td style="width: 227px"> <input name="cpr1" style="width: 77px" type="text" maxlength="6" /> - <input name="cpr2" style="width: 51px" type="text" maxlength="4" /></td> <td style="width: 68px"></td> <td></td> </tr> <tr> <td style="width: 101px">Adresse<span class="style1">*</span></td> <td style="width: 227px"><input name="adresse" type="text" /> </td> <td style="width: 68px"></td> <td></td> </tr> <tr> <td style="width: 101px">Postnummer<span class="style1">*</span></td> <td style="width: 227px"><input name="postnummer" type="text" maxlength="4" /> </td> <td style="width: 68px">By<span class="style1">*</span></td> <td><input name="by" type="text" /></td> </tr> <tr> <td style="width: 101px">Telefon nr.<span class="style1">*</span></td> <td style="width: 227px"><input name="tlf" type="text" maxlength="8" /> </td> <td style="width: 68px"></td> <td></td> </tr> <tr> <td style="width: 101px">E-mail<span class="style1">*</span></td> <td style="width: 227px"><input name="email" type="text" /></td> <td style="width: 68px"></td> <td></td> </tr> <tr> <td style="width: 101px">Uddannelse/misbrug</td> <td style="width: 227px"><input name="uddannelse" type="text" /></td> <td style="width: 68px"></td> <td></td> </tr> <tr> <td style="width: 101px">Arbejdsplads</td> <td style="width: 227px"><input name="arbejdsplads" type="text" /></td> <td style="width: 68px"></td> <td></td> </tr> <tr> <td height="22" style="width: 101px">EAN-nummer</td> <td style="width: 227px"><input name="EANnr" type="text" /></td> <td style="width: 68px"></td> <td></td> </tr> </table> <input type="submit" value="Tilmeld" /> </form>
Annonceindlæg fra Pointsharp
07. december 2009 - 21:35
#1
jeg har ikke tid til at komme med et eksempel, men hvis du kan lave lidt selv, så kunne du jo smide fejlen i en streng og til sidst alerte strengen: var error = ""; if(bla bla){ error += "- der er fejl i 'navn'\n"; } if(error)[ alert(error); }else{ //submit form } ...ja det blev så lidt eksempel alligevel - godnat :)
08. december 2009 - 00:43
#2
tror bare at jeg lukker :) splazz du kom med det bedste bud, smid et svar
08. december 2009 - 12:52
#3
function checkForm(form) { var error = ""; var valid = true; for (var i = 0; i < form.elements.length; i++) { var elem = form.elements[i]; var type = elem.type; if (type == "text") { if (elem.name != "email") { if (elem.value == "") { valid = false; error += "\t" + elem.name + " må ikke være blank.\r\n" } } else { var regexp = /^\w[\w\.\-]*@\w[\w\-]*\.\w{2}/i; if (elem.value != "" && !elem.value.match(regexp)) { error += "\tEmail er forkert udfyldt.\r\n"; } } } } error = "Følgende fejl blev fundet i formularen\r\n" + error; alert(error); return valid; }
09. december 2009 - 20:07
#4
<script type="text/javascript"> function valider(f){ var error = ""; if(f.fornavn.value==''){ error += "*Navn\n"; } function valider(f){ if(f.emne.value==''){ error = "*emne\n"; } if(f.efternavn.value==''){ error = "*Efternavn\n"; } if(f.cpr1.value==''){ error = "*Fødelsdagsdato\n"; } if(f.cpr2.value==''){ error = "*Kontrolcifre\n"; } if(f.adresse.value==''){ error = "*Adresse\n"; } if(f.postnummer.value==''){ error = "*Postnummer\n"; } if(f.by.value==''){ error = "*By\n"; } if(f.tlf.value==''){ error = "*Telefon\n"; } if(f.email.value==''){ error = "*E-mail\n"; } var regexp = /^\w[\w\.\-]*@\w[\w\-]*\.\w{2}/i; if(f.email.value!=''&&!f.email.value.match(regexp)){ error = "*Ugyldig email\n"; } if(error){ alert("Der er fejl i følgende felter:\n\n"+error); return false; } return true; } </script>
11. december 2009 - 19:19
#5
Super :) tak... Her er den samlede løsning jeg har lavet, til andre der skulle få et problem <script type="text/javascript"> function val(form) { var theErrors = ''; if (form.kursusnavn.value == "") theErrors += "*Navn på uddannelse/kursus\n"; if (form.fornavn.value == "") theErrors += "*Fornavn\n"; if (form.efternavn.value == "") theErrors += "*Efternavn\n"; if (form.cpr1.value == "") theErrors += "*Fødselsdagsdato\n"; if (form.cpr2.value == "") theErrors += "*Kontrolcifre\n"; if (form.adresse.value == "") theErrors += "*Adresse\n"; if (form.postnummer.value == "") theErrors += "*Postnummer\n"; else if(!form.postnummer.value.match(/^[0-9\+ ]+$/)&&form.postnummer.value!='') theErrors += "*Ugyldigt postnummer\n"; if (form.by.value == "") theErrors += "*By\n"; if (form.tlf.value == "") theErrors += "*Telefon nr.\n"; else if(!form.tlf.value.match(/^[0-9\+ ]+$/)&&form.tlf.value!='') theErrors += "*Ugyldigt telefon nr.\n"; var regexp = /^\w[\w\.\-]*@\w[\w\-]*\.\w{2}/i; if (form.email.value!=''&&!form.email.value.match(regexp)) theErrors += "*Ugyldig e-mail\n"; if (form.email.value == "") theErrors += "*E-mail\n"; if (form.email2.value == "") theErrors += "*Bekræft e-mail\n"; if (form.email2.value != form.email.value) theErrors += "*E-mails passer ikke sammen\n"; else if (form.email.value != form.email2.value) theErrors += "*E-mails passer ikke sammen\n"; if (form.cpr1.value.length!=6) theErrors += "*Ugyldigt CPR nr.\n"; else if (form.cpr2.value.length!=4) theErrors += "*Ugyldigt CPR nr.\n"; var cpr = form.cpr1.value + form.cpr2.value; if(cpr.match(/\d{6}\-?\d{4}/)){ var aar = +cpr.substr(4,2)+2000; aar -= (aar>new Date().getFullYear())?100:0; var maaned = +cpr.substr(2,2)-1; var dag = +cpr.substr(0,2); var dato = new Date(aar,maaned,dag); cpr = cpr.replace(/\-/g,""); var chk = 0; for(i=9;i>-1;i--){ chk += (+cpr.charAt(i))*((i>2)?(10-i):(4-i)); } if(chk%11!=0||dato.getFullYear()!=aar||dato.getMonth()!=maaned||dato.getDate()!=dag) theErrors += "*Ugyldigt CPR nr.\n";; } if(theErrors){ alert(theErrors); return false; } else { return true; } } </script>
11. december 2009 - 20:31
#6
selv tak :)
Vi tilbyder markedets bedste kurser inden for webudvikling