Avatar billede michaelb.dk Nybegynder
14. februar 2005 - 19:37 Der er 10 kommentarer og
1 løsning

<select> skal udfyldes

Hvordan laver jeg en tjekke funktion der ved Submit tjekker om <select> tagget er udfyldt??

<select size="1" name="alder">
<option></option>
<option>10 år</option>
</select>

<select size="1" name="højde">
<option></option>
<option>60 cm</option>
</select>

Hvis den blanke er valgt skal alerten sige "Udfyld venligst alder" og hvis begge er blanke skal den side "Udfyld venligst alder, højde" osv.

Den må også gerne kunne tjekke radio og textarea.
Avatar billede roenving Novice
14. februar 2005 - 19:46 #1
Med selectboxe er det nemmest at checke på selectedIndex, når du laver den sådan, for så kan du også tillade dig at skrive en tekst der, f.eks. "Vælg alder" !-)

if(f.selectedIndex ==0){ ...

-- men ønsker du at lægge alle fejlmeddeleser sammen til een, hvis der forsøges submit uden at der er udfyldt det nødvendige ?-)
Avatar billede elskermad.dk Nybegynder
14. februar 2005 - 20:14 #2
kan man ikke tage en length roenving? altså

if (document.formnavn.feltnavn.value.length<1) { bla bla }

?
Avatar billede roenving Novice
14. februar 2005 - 20:16 #3
Jo, det kan du godt, men så vil du ikke kunne skrive noget fornuftig tekst i den øverste option, da javascript-fortolkerne oftest leverer text-propertyen, hvis value-propertyen ikke eksisterer !-)
Avatar billede elskermad.dk Nybegynder
14. februar 2005 - 20:36 #4
ja det er jeg godt klar over, men hvis valuen'en (propertyen eller hva den nu hedder :D) kommer på alle option'erne ville det være en god løsning?
Avatar billede roenving Novice
14. februar 2005 - 20:40 #5
Jeg har faktisk ikke testet præcis hvornår den leverer teksten, men havde den anden dag et tilfælde, hvor den netop ikke leverede teksten i IE !-)
Avatar billede elskermad.dk Nybegynder
14. februar 2005 - 20:51 #6
okay :) men nu har spørger da hvert fald mindst 1½ løsning at gå efter!
Avatar billede ldanielsen Nybegynder
14. februar 2005 - 22:56 #7
enten skal det være

<select size="1" name="højde">
<option selected></option>
<option>60 cm</option>
</select>

eller det skal være
if(f.selectedIndex < 1){ ...

for hvis intet er valgt er selectedIndex = -1
Avatar billede michaelb.dk Nybegynder
15. februar 2005 - 00:54 #8
Forstår desværre ikke essensen af svarene da jeg ikke er inde i det med Javascript, kan i ikke for de 60 points prøve at komme med et fuldt eksempel?
Avatar billede ldanielsen Nybegynder
15. februar 2005 - 08:46 #9
Noget i denne stil:

<form onSubmit="return doValidate(this);">
<select size="1" name="alder">
<option></option>
<option>10 år</option>
</select>

<select size="1" name="hoejde">
<option></option>
<option>60 cm</option>
</select>
</form>

<script>
function doValidate(objForm){
  if(objForm.alder.selectedIndex < 1){
    alert("Du skal vælge \"Alder\".");
    return (false);
    }
  if(objForm.hoejde.selectedIndex < 1){
    alert("Du skal vælge \"Højde\".");
    return (false);
    }
  return (true);
  }

</script>
Avatar billede michaelb.dk Nybegynder
15. februar 2005 - 13:45 #10
Det virker jo fantastisk. Besvar venligst.
Avatar billede ldanielsen Nybegynder
15. februar 2005 - 13:53 #11
Tak for det
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester