Formular Überprüfung

technikfrager

Grünschnabel
Hallo,
ich habe ein Script,das soweit wunderbar funktioniert - und zwar für die Überprüfung eines Formulares vor seiner Absendung. Allerdings gilt das bisher nur für Textfelder. In diesem Skript verstehe ich nicht alles..

Code:
<script type="text/javascript">
<!--
function MM_validateForm() { //v4.0
  if (document.getElementById){
    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=document.getElementById(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+='- Im Feld '+nm+' muss eine korrekte E-Mail angegeben sein.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- '+nm+' must contain a number.\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+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' ist erforderlich.\n'; }
    } if (errors) alert('Folgende Fehler sind aufgetreten:\n'+ersetzekomischeformularnamendurchkorrektewoerter(errors));
    document.MM_returnValue = (errors == '');
} }

function ersetzekomischeformularnamendurchkorrektewoerter( Fehler ) {
	Ergebnis	=	Fehler;
	Ergebnis	=	Ergebnis.replace( " vorname", " Vorname" );
	Ergebnis	=	Ergebnis.replace( " name", " Name" );
	Ergebnis	=	Ergebnis.replace( " strasse", " Straße" );
	Ergebnis	=	Ergebnis.replace( " plz", " PLZ" );
	Ergebnis	=	Ergebnis.replace( " ort", " Ort" );
	Ergebnis	=	Ergebnis.replace( " email", " E-Mail" );
	Ergebnis	=	Ergebnis.replace( " sicherheit", " Sicherheitscode" );
		
	return	Ergebnis;
}

function MM_findObj(n, d) { //v4.01
  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);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
//-->
</script>

Ich möchte das Skript so geändert haben, das auch folgende Typen ausgefüllt seien sollen: Checkbox, Radio.

Kann mir da jemand sagen, mit welchen Zeilen man das Schript erweitern kann, dass bei der Überprüfung auch Radios und Checkboxen ausgefüllt seien müssen? Und zwischen welchen Zeilen fügt man das ein?

Es handelt sich um eine einzelne Checkbox, und zwei gruppierte Radios, von denen eins ausgewählt sein muss.

Herzlichen Dank!
 
Hi technikfrager,

also wenn du eine Checkbox hast, ist die entweder angekreuzt oder nicht, was willst du da überprüfen?
...oder ist das sowas mit AGB bestätigen?
Falls ja, kannst du das folgendermaßen überprüfen:
Javascript:
if(!document.getElementsByName("agbCheckBox").checked) window.alert("Bitte akzeptieren Sie die AGB!");

In Sachen Radiobuttons:
Javascript:
if(!document.getElementsByName("radio_1").checked && !document.getElementsByName("radio_2").checked)
     window.alert("Bitte wählen Sie Radio-Button 1 oder 2 aus!");

Hoffentlich hilfts dir,
javaDeveloper2011
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück