Avatar billede tonkin Nybegynder
17. juli 2000 - 15:53 Der er 3 kommentarer og
1 løsning

Formvalidering og netscape

Hep!
Jeg skal bruge et script der validerer en form i Netscape. Ala:

<!DOCTYPE Html Public>
<HTML>
<HEAD>
<TITLE></TITLE>
<script language="JavaScript">
<!--
function tjek(fn) {
  na = fn.Navn.value;
add = fn.Adresse.value;
  if (na.length == 0) {
    alert('Navnet er ikke angivet !');
  } 
  else {
    if (add.length == 0) {
      alert('Adressen er ikke angivet');
      }
  else {
    fn.submit();
    }
  }
}
//-->
</script>
</HEAD>
<body>
<form name="myform" action="hiyahuk.asp" method="post">
  <b>Navn</b><br>
  <select name="Navn" size="1">
      <option value="">---</option>
    <option value="h">Hans</option>
    <option value="o">Ole</option>
  </select>
  <p>
  <b>Adresse</b><br>
  <input type="text" name="Adresse" size="25"><br>
  <input type="button" value="Send formular" onClick="tjek(myform)">
  <p>
</form>
</body>
</HTML>

Mit problem er at jeg ikke kan kontrolerer hvad værdien i dropdownmenuen er !!!!
Hvordan gør jeg ???
Avatar billede tonkin Nybegynder
17. juli 2000 - 16:29 #1
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script language="JavaScript">
<!--
function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function validateForm() { //v3.0
  var i,p,q,nm,test,num,min,max,errors='',args=validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) {
    test=args[i+2];
    val=MM_findObj(args[i]);
    if (test.indexOf('drop')!=-1) {
        if (form1.val.selectedIndex == 0) {
          errors += '-du '+nm+' is required.\n';
        }   
    }
    else if ((val=form1.val.value)="") {
              errors += '- '+nm+' is required.\n';
        }
          }
  if (errors) alert('The following error(s) occurred:\n'+errors);

}}
//-->
</script>
</head>

<body bgcolor="#FFFFFF">
<form action="http://www.kunde.dk" name="form1" method="post">
  Alder: <input type="text" name="Alder"><p>
  Navn:  <input type="text" name="Navn"><p>
  Email: <input type="text" name="Email"><p>
     
    <select name="ryger" size="1">
      <option value="">---</option>
      <option value="1" selected>Ja</option>
      <option value="0">Nej</option>
    </select>
    <p>
    <input type="submit" name="Submit" value="Submit" onClick="validateForm('ryger','','RisDrop')">
</form>
</body>

- det duer heller ikke !!!
Andre ideer ???
Avatar billede jumper Nybegynder
17. juli 2000 - 16:37 #2
Dette

na = fn.Navn.value;

skal rettes til dette

na = fn.Navn.options[fn.Navn.selectedIndex].value

og

<input type="button" value="Send formular" onClick="tjek(myform)">

skal rettes til

<input type="button" value="Send formular" onClick="tjek(this.form)">

Begge dele fra dit første stykke kode.

/Thor
Avatar billede jumper Nybegynder
17. juli 2000 - 16:37 #3
Avatar billede tonkin Nybegynder
17. juli 2000 - 16:42 #4
Du slog mig kun med et lille sek. Jeg var lige ved at have den selv ;)

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script language="JavaScript">
<!--
function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function validateForm() { //v3.0
  var i,p,q,nm,test,num,min,max,errors='',args=validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) {
    test=args[i+2];
    val=MM_findObj(args[i]);
    if (test.indexOf('Drop')!=-1) {
        alert(val.selectedIndex);
        if (val.selectedIndex == "0") {
          errors += '-du '+nm+' is required.\n';
        }   
    }

          }
 
  if (errors) alert('The following error(s) occurred:\n'+errors);

}
//-->
</script>
</head>

<body bgcolor="#FFFFFF">
<form action="http://www.krak.dk" name="form1" method="post" onSubmit="return validateForm('ryger','','RisDrop')">
  Alder: <input type="text" name="Alder"><p>
  Navn:  <input type="text" name="Navn"><p>
  Email: <input type="text" name="Email"><p>
     
    <select name="ryger" size="1">
      <option value="">---</option>
      <option value="1" selected>Ja</option>
      <option value="0">Nej</option>
    </select>
    <p>
    <input type="submit" name="Submit" value="Submit" >
</form>
</body>
</html>
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