Avatar billede crunch Nybegynder
28. oktober 2000 - 14:01 Der er 10 kommentarer og
1 løsning

hvorfor virker denne validation ikke ?

hej er der nogen der kan fortælle mig hvorfor jeg ikke kan validere felterne \"a\" og \"b\" på denne måde... scriptet plejer at virke..


<html>
<head>
<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 MM_validateForm() { //v3.0
  var i,p,q,nm,test,num,min,max,errors=\'\',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!=\"\") {
      if (test.indexOf(\'isEmail\')!=-1) { p=val.indexOf(\'@\');
        if (p<1 || p==(val.length-1)) errors+=\'- \'+nm+\' skal være en mail-adresse.\\n\';
      } else if (test!=\'R\') { num = parseFloat(val);
        if (val!=\'\'+num) errors+=\'- \'+nm+\' skal være et tal.\\n\';
        if (test.indexOf(\'inRange\') != -1) { p=test.indexOf(\':\');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+=\'- \'+nm+\' skal indholde et tal mellem \'+min+\' og \'+max+\'.\\n\';
    } } } else if (test.charAt(0) == \'R\') errors += \'- \'+nm+\' skal udfyldes.\\n\'; }
  } if (errors) alert(\'Følgende fejl opstod:\\n\'+errors);
  document.MM_returnValue = (errors == \'\');
}
//-->
</script>
</head>

<%
set conn = server.createobject(\"ADODB.Connection\")
DBPath = \"DBQ=\" & server.mappath(\"data1.mdb\")
conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath
%>
<body bgcolor=\"#FFFFFF\">
<b><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">LAGER OG RESTSALG - OPRET KATEGORI :</font></b>
<form method=\"post\" action=\"admin-overskrift.asp\" name=\"myform\" onSubmit=\"MM_validateForm(\'a\',\'\',\'R\',\'b\',\'\',\'R\');return document.MM_returnValue\">
<table width=\"500\" border=\"0\" bgcolor=\"#669999\" cellpadding=\"10\" bordercolor=\"#669999\" bordercolorlight=\"#669999\" bordercolordark=\"#669999\">
<tr valign=\"top\" align=\"left\">
<td width=\"100\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"><b>Overskrift:</b></font></td>
<td width=\"300\">

<div align=\"left\">
<input type=\"text\" name=\"a\" size=\"25\">
</div>
</td>
</tr>
<tr valign=\"top\" align=\"left\">
<td width=\"100\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"><b>Beskrivelse:</b></font></td>
<td width=\"300\">

<div align=\"left\">
<textarea name=\"b\" rows=\"6\"></textarea>
</div>
</td>
</tr>
<tr valign=\"top\" align=\"left\">
<td width=\"100\"><img src=\"netscapedummy.gif\" width=\"200\" height=\"5\"></td>
<td width=\"300\">



<div align=\"right\">
<input type=\"submit\" name=\"Submit\" value=\"INDS&AElig;T\">

</div>
</td>
</tr>


<div align=\"right\">
<input type=\"submit\" name=\"Submit\" value=\"INDS&AElig;T\">

</div>
</td>
Avatar billede geeeet Nybegynder
28. oktober 2000 - 14:04 #1
Det virker da fint, jeg får en alert med beskeden...

Følgende fejl opstod:
- a skal udfyldes:
- b skal udfyldes:

og hvis jeg skriver noget i dem, får jeg ikke nogen alert...

Men hvis du hellere vil have en anden formvalidering, kan jeg hurtigt lave en...

/Geeeet
Avatar billede crunch Nybegynder
28. oktober 2000 - 14:10 #2
jeg får ingen fejlmeddelse...
Avatar billede crunch Nybegynder
28. oktober 2000 - 14:12 #3
mener ingen alert
Avatar billede geeeet Nybegynder
28. oktober 2000 - 14:22 #4
ved ikke hvad jeg skal sige... jeg får den jo :-)
Tester du i ie eller ns ?

/Geeeet
Avatar billede crunch Nybegynder
28. oktober 2000 - 14:39 #5
IE...

og jeg kan se andre steder hvor jeg tidligere har brugt scriptet virker det fint med samme brpwser..

jeg er helt blank.
Avatar billede geeeet Nybegynder
28. oktober 2000 - 14:41 #6
<html>
<head>
<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 MM_validateForm() { //v3.0
  var i,p,q,nm,test,num,min,max,errors=\'\',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!=\"\") {
      if (test.indexOf(\'isEmail\')!=-1) { p=val.indexOf(\'@\');
        if (p<1 || p==(val.length-1)) errors+=\'- \'+nm+\' skal være en mail-adresse.\\n\';
      } else if (test!=\'R\') { num = parseFloat(val);
        if (val!=\'\'+num) errors+=\'- \'+nm+\' skal være et tal.\\n\';
        if (test.indexOf(\'inRange\') != -1) { p=test.indexOf(\':\');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+=\'- \'+nm+\' skal indholde et tal mellem \'+min+\' og \'+max+\'.\\n\';
    } } } else if (test.charAt(0) == \'R\') errors += \'- \'+nm+\' skal udfyldes.\\n\'; }
  } if (errors) alert(\'Følgende fejl opstod:\\n\'+errors);
  document.MM_returnValue = (errors == \'\');
}
//-->
</script>
</head>


<body bgcolor=\"#FFFFFF\">
<b><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">LAGER OG RESTSALG - OPRET KATEGORI :</font></b>
<form method=\"post\" action=\"admin-overskrift.asp\" name=\"myform\" onSubmit=\"MM_validateForm(\'a\',\'\',\'R\',\'b\',\'\',\'R\');return
document.MM_returnValue\">
<table width=\"500\" border=\"0\" bgcolor=\"#669999\" cellpadding=\"10\" bordercolor=\"#669999\" bordercolorlight=\"#669999\"
bordercolordark=\"#669999\">
<tr valign=\"top\" align=\"left\">
<td width=\"100\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"><b>Overskrift:</b></font></td>
<td width=\"300\">

<div align=\"left\">
<input type=\"text\" name=\"a\" size=\"25\">
</div>
</td>
</tr>
<tr valign=\"top\" align=\"left\">
<td width=\"100\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"><b>Beskrivelse:</b></font></td>
<td width=\"300\">

<div align=\"left\">
<textarea name=\"b\" rows=\"6\"></textarea>
</div>
</td>
</tr>
<tr valign=\"top\" align=\"left\">
<td width=\"100\"><img src=\"netscapedummy.gif\" width=\"200\" height=\"5\"></td>
<td width=\"300\">



<div align=\"right\">
<input type=\"submit\" name=\"Submit\" value=\"INDS&AElig;T\">

</div>
</td>
</tr>


<div align=\"right\">
<input type=\"submit\" name=\"Submit\" value=\"INDS&AElig;T\">

</div>
</td>

virker i ie... jeg har bare fjernet dit asp-kald til databasen, da jeg ikke har db\'en...

/Geeeet
Avatar billede crunch Nybegynder
28. oktober 2000 - 15:09 #7
det er sjovt... det hele virker fint i netscape.. men jeg kan simpelt hen ikke få det til at virke i IE.

Jeg kan godt få dit script til at virke i IE, men så snart jeg flytter det over hvor det skal bruges virker det ikke mere i IE....
Avatar billede geeeet Nybegynder
28. oktober 2000 - 15:11 #8
Så er det jo en fejl i noget andet af din kode, for det holder ikke bare op med at virke.. :-)
Så prøv at lede efter fejlen et andet sted...

/Geeeet
Avatar billede crunch Nybegynder
28. oktober 2000 - 17:41 #9
ok..  (flere timer senere) . Nu virker det. Jeg aner ikke hvad der gik galt. Jeg tror måske nok det var noget med at navnene skulle stå med småt og kun eksistere en gang på hver side i IE 5.5 - men nu kører det.

tak for hjælpen

-hvis du vil have points kan du lige oprette et \"svar\"
Avatar billede geeeet Nybegynder
28. oktober 2000 - 17:54 #10
Ellers tak, jeg hjalp jo ikke rigtigt...
Snup du dem bare selv...

/Geeeet
Avatar billede crunch Nybegynder
28. oktober 2000 - 17:57 #11
ok.,
(:
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