Avatar billede xtremer Nybegynder
28. februar 2002 - 22:47 Der er 2 kommentarer og
1 løsning

Validering af 3 forskellige slags forminput


Hvordan validerer jeg en form som både indeholder radio,text og select bokse. Felterne skal tjekes for om der er indtastet noget i det pågældende felt. Har prøvet med et script men det virkede kun på textfelter.

Nogen som kan hjælpe ?? 
Avatar billede cms Nybegynder
28. februar 2002 - 22:55 #1
Hvad vil du tjekke hhv. radio og selectboxe for?

Følgende kan udvides til at dække radio+selects:
<script>
function ValElement(element){
if (element.type=='text'){
  return (element.value != '');
} else return true;
}
function Val(form){
for (var i=0; i<form.elements.length; i++){
  if (!ValElement(form.elements[i])) return false;
}
return true
}
</script>
<form onSubmit="return Val(this)">
Avatar billede cms Nybegynder
28. februar 2002 - 23:02 #2
Ikke testet, men skulle også tjekke om der er sat et hak i alle radiogrupper:

<script>
radios = new Array();
function ValElement(element){
if (element.type=='text'){
  return (element.value != '');
} else return true;
}
function findradios(form){
for (var i=0; i<form.elements.length; i++){
  if (form.elements[i].type=='radio'){
    add=true;
    for (var j=0; j<radios.length; j++) if (radios[j].name==form.elements[i].name) add=false;
    if (add) radios[]=form.elements.name;
  }
|
}
function Val(form){
if (radios.length==0) findradios(form);
for (var i=0; i<radios.length; i++){
  if (radios[i].value == '') return false;
}
for (var i=0; i<form.elements.length; i++){
  if (!ValElement(form.elements[i])) return false;
}
return true
}
</script>
<form onSubmit="return Val(this)">
Avatar billede cms Nybegynder
28. februar 2002 - 23:04 #3
Sådan, selvfølgelig:

<script>
radios = new Array();
function ValElement(element){
if (element.type=='text'){
  return (element.value != '');
} else return true;
}
function findradios(form){
for (var i=0; i<form.elements.length; i++){
  if (form.elements[i].type=='radio'){
    add=true;
    for (var j=0; j<radios.length; j++) if (radios[j].name==form.elements[i].name) add=false;
    if (add) radios[]=form.elements.name;
  }
|
}
function Val(form){
if (radios.length==0) findradios(form);
for (var i=0; i<radios.length; i++){
  if (radios[i].value == '') return false;
}
for (var i=0; i<form.elements.length; i++){
  if (!ValElement(form.elements[i])) return false;
}
return true
}
function Validate(form){
r = Val(form);
if (!r) alert('Nogle felter blev ikke udfyldt.');
return r;
}
</script>
<form onSubmit="return Validate(this)">
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