07. oktober 2009 - 09:33
Der er
11 kommentarer og 1 løsning
Validering af form på hjemmeside
Jeg er ved at lave en form med forskellige felter + 2 CheckBox'er. HTML koden ser sådan ud: <body> <h1>Testform</h1> <script language="JavaScript" src="testform.js"></script> <form method="POST" action="" onsubmit="return checkRequiredFields(this)"> Navn: <input type="Text" name="navn" size="20"><p> Adresse: <input type="Text" name="adresse" size="20"><p> Postnr: <input type="Text" name="postnr" size="4"><p> By: <input type="Text" name="by" size="20"><p> Knap1: <input type="Checkbox" name="knap1" value=""><p> knap2: <input type="Checkbox" name="knap2" value=""> <br> <input type="submit" value="Send"> <input type="Reset" value="Slet"> </p> </form> </body> Jeg har følgende script: function checkRequiredFields(input) { var requiredFields = new Array("navn", "adresse", "postnr", "by", "knap1", "knap2"); var fieldNames = new Array("Navn", "Adresse", "Postnr", "By", "Knap1", "Knap2"); var fieldCheck = true; var fieldsNeeded ="\nAlle felter skal udfylles! \n\nUdfyld venligst de tomme felter:\n\n\t"; for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) { if ((input.elements[requiredFields[fieldNum]].value == "") || (input.elements[requiredFields[fieldNum]].value == " ") || (input.elements[requiredFields[4]].value == "")) { fieldsNeeded += fieldNames[fieldNum] + "\t" + fieldNum + "\n\t"; fieldCheck = false; } } if (fieldCheck == true) { return true; } else { alert (fieldsNeeded); return false; } } Det virker også fint, untaget for de 2 chechbox'er. Hvordan kan jeg checke om der er sat flueben i den ene, eller dem begge? mvh Johs_j
Annonceindlæg fra Deloitte
07. oktober 2009 - 09:41
#1
hvis du nu sætter value til noget andet end "", så vil $_POST['knap1'] indeholde den value, hvis fluebenet er sat, ellers vil den være tom
07. oktober 2009 - 10:20
#2
>splazz Jeg kan ikke lige se hvordan jeg skal skrive det i scriptet!
07. oktober 2009 - 10:30
#3
Knap1: <input type="Checkbox" name="knap1" value=""><p> knap2: <input type="Checkbox" name="knap2" value=""> rettes til: Knap1: <input type="Checkbox" name="knap1" value="flueben"><p> knap2: <input type="Checkbox" name="knap2" value="flueben"> f.eks.
07. oktober 2009 - 16:12
#4
>splazz Den ændring får da ikke scriptet til at teste den.
07. oktober 2009 - 17:43
#5
hvad vil du tjekke feltet for? SKAL felterne være tjekket for at man kan fortsætte?
07. oktober 2009 - 22:20
#6
Scriptet skal checke at der sat et √ i en af CheckBox'erne for at man kan fortsætte.
07. oktober 2009 - 22:21
#7
√ = Flueben Man kan åbenbart ikke skrive sådan et her.
07. oktober 2009 - 22:35
#8
så der skal være flueben i begge felter før man kan fortsætte?
08. oktober 2009 - 13:11
#9
Der behøver kun at være flueben i den ene; men der må godt være i dem begge.
08. oktober 2009 - 13:39
#10
prøv med: function checkRequiredFields(input) { var requiredFields = new Array("navn", "adresse", "postnr", "by"); var fieldNames = new Array("Navn", "Adresse", "Postnr", "By"); var fieldCheck = true; var fieldsNeeded ="\nAlle felter skal udfylles! \n\nUdfyld venligst de tomme felter:\n\n\t"; for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) { if ((input.elements[requiredFields[fieldNum]].value == "") || (input.elements[requiredFields[fieldNum]].value == " ") || (input.elements[requiredFields[4]].value == "")) { fieldsNeeded += fieldNames[fieldNum] + "\t" + fieldNum + "\n\t"; fieldCheck = false; } } if(document.getElementById('need_check').checked != 'checked'){ fieldsNeeded += "Du skal sætte flueben i dette felt\n\t"; } if (fieldCheck == true) { return true; } else { alert (fieldsNeeded); return false; } }
08. oktober 2009 - 16:22
#11
>splazz Har du fået det til at virke, for hos mig virker det ikke!!!
20. november 2009 - 10:41
#12
Jeg lukker
Vi tilbyder markedets bedste kurser inden for webudvikling