Return not in function
LiAn
- javascript
Hallo allerseits,
ich bin für eine Website verantwortlich, die nicht von mir geschrieben wurde.
Ohne mein Zutun geht nun plötzlich das Kontaktformular nicht mehr.
Die Firefox Fehlerkonsole gibt folgenden Fehler aus:
Fehler: return not in function
Quelldatei: javascript:MM_validateForm('submit_by','','RisEmail');%20return%20document.MM_returnValue
Zeile: 1, Spalte: 44
Quelltext:
MM_validateForm('submit_by','','RisEmail'); return document.MM_returnValue
Der JavaScriptCode schaut so aus:
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;
}
function MM_validateForm() { //v4.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+='die Email-Adresse ist nicht korrekt.\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 += 'E-Mail ist leer.\n'; }
} if (errors) alert('Ein Problem in folgenden Feldern trat auf:\n'+errors);
document.MM_returnValue = (errors == '');
if (errors == ''){
//E-Mail senden:
document.innenausbau.submit();
}
}
kann mir da jemand sagen, wo das Problem liegt?
Hello,
MM_validateForm('submit_by','','RisEmail'); return document.MM_returnValue
wo findet sich denn diese Zeile? Im onsubmit? In einem onclick? Doch nicht etwa in einem href?!
MfG
Rouven
wo findet sich denn diese Zeile? Im onsubmit? In einem onclick? Doch nicht etwa in einem href?!
Doch die Zeile befindet sich in einem href:
<a href="JavaScript:MM_validateForm('submit_by','','RisEmail'); return document.MM_returnValue">
Sollte sie das in dem Fall besser nicht?
<a href="JavaScript:MM_validateForm('submit_by','','RisEmail'); return document.MM_returnValue">
>
> Sollte sie das in dem Fall besser nicht?
Welchen Zweck soll die return-Anweisung dort erfüllen?
Wie die Fehlermeldung des Firefox bereits sagt, kann dort keine solche vorkommen.
Mathias
--
[JavaScript-Erweiterung für das SELFHTML-Forum](http://forum.de.selfhtml.org/js/doku/)
Welchen Zweck soll die return-Anweisung dort erfüllen?
Das weiss ich eben leider auch nicht. ich überprüfe meine Kontaktformulare meistens mit PHP. und nicht mit JavaScript.
Wie die Fehlermeldung des Firefox bereits sagt, kann dort keine solche vorkommen.
Hab das return jetzt rausgenommen und jetzt wird die Erfolgsmeldung angezeigt, dass die Nachricht versendet wurde, obwohl ich keine Felder ausgefüllt hatte. Nur erhalte ich keine Nachricht.