03. december 2008 - 17:03Der er
5 kommentarer og 1 løsning
Flere functions i én?
Hello.
Jeg har flere former for validering på en form. Der ligger flere functions i mit javascript der validerer de forskellige felter, afhængigt af indhold.
Et eksempel kunne være: // Validér email function validateMail(f) { var inputNavn = f.inputNavn; var emailreg=/^.+@.+\..{2,4}$/
if (!inputNavn.value.match(emailreg)) { alert("Indtast en gyldig email adresse!") inputNavn.focus(); return false; } return true; } // Validér telefonnummer function validatePhone(f) { var s = f.inputNavn.value.replace(" ", ""); if (!/^[0-9\/-]{7,20}$/.test(s)) { alert("Telefonnummeret er ikke korrekt"); f.inputNavn.focus(); return false; } return true; }
På formen ligger 2 functions i en return når formen submittes.
Et eksempel: onsubmit="return validateMail(this) && validatePhone(this)">
Mit spørgsmål er så: Er det muligt bare at ligge det hele i én function eller noget lignende, så jeg er fri for at skulle skrive alle de validerings functions jeg bruger i onsubmit?
Jeg skal ærligt indrømme jeg ikke har det fjerneste forstand på javascripts og vil blot høre om det er muligt at gøre det hele lidt nemmere :-)
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
- og jeg ville nok samle de to funktioner. F.eks (forudsat dine felter hedder 'email' og 'phone'):
function validateMail(f) { var inputNavn = f.email; var emailreg=/^.+@.+\..{2,4}$/
if (!inputNavn.value.match(emailreg)) { alert("Indtast en gyldig email adresse!") inputNavn.focus(); return false; }
inputNavn = f.phone; var s = inputNavn.value.replace(" ", ""); if (!/^[0-9\/-]{7,20}$/.test(s)) { alert("Telefonnummeret er ikke korrekt"); f.inputNavn.focus(); return false; }
Nu er jeg ikke lige den stærkeste i javascripts, så kan du forklare hvad jeg skal gøre hvis jeg sammenlægge 8 functions i én? Jeg kan se hvad du gør i dit eksempel ovenfor, men jeg er mere interesseret i _hvordan_ og _hvorfor_ jeg skal gøre sådan :-)
Jeg ved ikke hvem der skal smide et svar.. Ligger et svar så må i finde ud af resten:)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.