• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Problem mit der Formular-Plausibilität

furrerd

New member
hallo
bei einer formular-plausi prüfe ich diverse felder auf ihre gültigkeit. (datum und so)
dafür benutze ich den event-handler "onblur". das funktioniert soweit auch ohne probleme,
nur der reset-button ist leider nicht mehr aktiv.
ist das normal oder habe ich allenfalls ein problem in meinem script.

besten dank und gruss
dany
 
Quelltext.....

Hi!


ISt es möglich, mal den Quelltext zu posten, oder das Script online irgendwo zu bestaunen. Dann kann ich vielleicht was näheres dazu sagen.......ich tippe recht ungern ins Blaue!

CU
Redpadz
 
hier also der quelltext.
die idee ist, dass mittels verschiedener parameter die plausibilisierung der eingabefelder
gemacht werden kann. das script soll dabei alle möglichen feldtypen behandeln können. (datum/text/integer)
die übergabe-parameter bedeuten : formularname/feldname/feldtyp/feldlänge/feldeingabe zwingend ja-nein/spezielles) beim parameter "spezielles" wird das "%-zeichen" als wildcard benutzt.
offen ist noch die eingabeaufforderung bei feldern die zwingend eingegeben werden müssen, da der focus
ja nicht auf dem feld sein muss.
der aufruf des scripts (chkForm) beim form-statement wurde wegen der grossen anzahl der möglichen übergabeparameter absichtlich nicht in betracht gezogen.

also besten dank und gruss
dany

******************************************************************************************


<FORM NAME="ERF1" TARGET="Report" METHOD="POST" ACTION="load">
<table border="0" cellspacing="0" cellpadding="0" width="95%">
<TR ALIGN=LEFT VALIGN=TOP>
<td class="textSmall" align="left" valign="middle" nowrap>Gültigkeit (yyyy-mm-dd)
</td>
<td class="textSmall" align="left" valign="middle"><INPUT TYPE="Text" NAME="GUELTIG" VALUE="0001-01-01" SIZE=8 MAXLENGTH=10 onBlur="chkForm(this.form.name,this.name,'date','10','1','0')">
</td>
<td class="textSmall" align="left" valign="middle" nowrap>Feld1
</td>
<td class="textSmall" align="left" valign="middle"><INPUT TYPE="Text" NAME="FELD1" VALUE="" SIZE=8 MAXLENGTH=6 onBlur="chkForm(this.form.name,this.name,'int','6','1','0')">
</td>
<td class="textSmall" align="left" valign="middle" nowrap>Feld2
</td>
<td class="textSmall" align="left" valign="middle"><INPUT TYPE="Text" NAME="FELD2" VALUE="" SIZE=2 MAXLENGTH=3 onBlur="chkForm(this.form.name,this.name,'char','3','1','1')">
</td>
<td class="textSmall" align="left" valign="middle"><INPUT TYPE="reset" VALUE="Reset" class="textSmall"> <INPUT TYPE="submit" VALUE="Ausführen" class="textSmall">
</td>
</tr>
</table>
</div>
</FORM>

*******************************************************

function chkForm(form,name,type,leng,fill,spec){

var wert = 'document.'+form+'.'+name+'.value';
var laenge = 'document.'+form+'.'+name+'.value.length';
var fokus = 'document.'+form+'.'+name+'.focus()';


/* prüft den datentyp "date" */
if(type =="date"){

/* prüft ob variable abgefüllt ist (wenn zwingend!) */
if(fill =="1" && eval(wert) =="") {alert("Bitte "+name+" eingeben !");
eval(fokus);
return false;}

/* prüft syntax der variable vom typ "date" (yyyy-mm-dd) */
if(eval(wert) !=""){
var chkD = 1;
for(i=0;i<4;++i){
var check_date ='document.'+form+'.'+name+'.value'+'.charAt(i)';
if(eval(check_date) < "0"
|| eval(check_date) > "9")
chkD = -1;
}
for(i=5;i<7;++i){
var check_date ='document.'+form+'.'+name+'.value'+'.charAt(i)';
if(eval(check_date) < "0"
|| eval(check_date) > "9")
chkD = -1;
}
for(i=8;i<10;++i){
var check_date ='document.'+form+'.'+name+'.value'+'.charAt(i)';
if(eval(check_date) < "0"
|| eval(check_date) > "9")
chkD = -1;
}
var check_date ='document.'+form+'.'+name+'.value'+'.charAt(4)';
if(eval(check_date) != "-")
chkD = -1;

var check_date ='document.'+form+'.'+name+'.value'+'.charAt(7)';
if(eval(check_date) != "-")
chkD = -1;

if(chkD == -1) {alert(name+" : Ungueltiges Format yyyy-mm-dd");
eval(fokus);
return false;}

/* ende der syntaxprüfung "date" */
}
/* ende der prüfung des datentyps "date" */
}


/* prüft den datentyp "int" */
if(type =="int"){

/* prüft ob variable abgefüllt ist (wenn zwingend!) */
if(fill =="1" && eval(wert) =="") {alert("Bitte "+name+" eingeben !");
eval(fokus);
return false;}

/* prüft typ "int" ohne % */
if(eval(wert) !="" && spec=="0"){
for(i=0;i<eval(laenge);++i){
var check_int ='document.'+form+'.'+name+'.value'+'.charAt(i)';
if(eval(check_int) < "0" || eval(check_int) > "9")
{alert(name+" Ungueltiges Format oder keine Zahl");
eval(fokus);
return false;}
}
/* ende der prüfung "int" ohne % */
}

/* prüft typ "int" auf % am ende*/
if(eval(wert) !="" && spec=="1"){
for(i=0;i<eval(laenge)-1;++i){
var check_int ='document.'+form+'.'+name+'.value'+'.charAt(i)';
if(eval(check_int) < "0" || eval(check_int) > "9")
{alert(name+" Ungueltiges Format oder keine Zahl");
eval(fokus);
return false;}
}
for(i=eval(laenge)-1;i<eval(laenge);++i){
var check_int ='document.'+form+'.'+name+'.value'+'.charAt(i)';
if(eval(check_int) < "0" || eval(check_int) > "9"){
if(eval(check_int) !="%")
{alert(name+" Ungueltiges Format oder keine Zahl");
eval(fokus);
return false;}
}
}

/* ende der prüfung auf % */
}

/* ende der prüfung des datentyps "int" */
}


/* prüft den datentyp "char" */
if(type =="char"){

/* prüft ob variable abgefüllt ist (wenn zwingend!) */
if(fill =="1" && eval(wert) =="") {alert("Bitte "+name+" eingeben !");
eval(fokus);
return false;}

/* ende der prüfung des datentyps "char" */
}


/* ende der function chkform */
}
</script>
 
Zurück
Oben