15. januar 2002 - 10:56Der er
4 kommentarer og 1 løsning
Validering af formmail script
Hvordan undgår jeg at dette script viser ALERT meddellelsen, når indtastninger mangler? Script skal køres i et popup vindue, der aktiveres fra Flash.
Kan koden evt. også optimeres lidt?
Hvis INDTASTNING mangler, skal i stedet for visning af Alert intet ske ved submit. Først ved indtastning i alle nævnte felter, fungerer submit knappen.
Med venlig hilsen ... Lars
<script language=\"JavaScript\"> <!--
function Checkform(thisform) { // strError = \'\'; intError = 0;
// Check for @ i email if (thisform.email.value.indexOf(\"@\") == -1 && thisform.email.value != \"\") { strError = strError + \'\' intError = 1; thisform.email.focus();
}
// if (thisform.name.value == \"\") if (thisform.email.value == \"\") if (thisform.address.value == \"\") if (thisform.city.value == \"\") if (thisform.country.value == \"\") if (thisform.zip.value == \"\")
Synes din roder lidt, så hvis du tager min (Den kan nemt ændres :)) )
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html> <head> <title>Valid Form</title> <script>
function vali(hvad){
if (document.nybruger.navn.value.indexOf(\' \')!=-1||document.nybruger.navn.value==\"\"){ // tjekker om der er mellemrum eller om der intet er i feltet navn alert(\'ingen mellemrum\') // giver fejlmeddelse document.nybruger.navn.focus() // sætter focus på felter navn return false // returner false, da der er fejl i formen }else if(document.nybruger.efternavn.value==\"\"){ // tjekker om der er skrevet noget i feltet efternavn alert(\'mangler efternavn\') document.nybruger.efternavn.focus() return false }else if (document.nybruger.mail.value.indexOf(\'@\')==-1||document.nybruger.mail.value==\"\"){ // tjekker om der er findes et @ eller om der intet er i feltet mail alert(\'Email makker\') // giver fejlmeddelse document.nybruger.mail.focus() // sætter focus på feltet mail return false // returner false, da der er fejl i formen }else if(document.nybruger.pass1.value==\"\"){ // tjekker om der er skrevet noget i feltet pass1 alert(\'mangler pass1\') document.nybruger.pass1.focus() return false }else if(document.nybruger.pass2.value==\"\"){ // tjekker om der er skrevet noget i feltet pass2 alert(\'mangler pass2\') document.nybruger.pass2.focus() return false }else if(document.nybruger.pass1.value!=document.nybruger.pass2.value){ // tjekker om pass1 og pass2 er forskellige alert(\'Pass ikke end\') document.nybruger.pass1.focus() return false } else if(document.nybruger.huske.value==\"\"){ // tjekker om der er skrevet noget i feltet husketekst alert(\'mangler huske\') document.nybruger.huske.focus() return false }else return true // alle er gået igennem og der var ingen fejl så vi sender formen af sted
Men dit script viser jo også en ALERT meddelse. Det er det jeg gerne vil undgå. Jeg gider ikke se på disse alert. Hvis en indtastning mangler, skal den ikke gå videre når SUBMIT trykkes... ikke før alle indtastningfelter er udfyldt.
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.