LiAn: Return not in function

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?

  1. 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

    --
    -------------------
    sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
    Computer programming is tremendous fun. Like music, it is a skill that derives from an unknown blend of innate talent and constant practice. Like drawing, it can be shaped to a variety of ends: commercial, artistic, and pure entertainment. Programmers have a well-deserved reputation for working long hours but are rarely credited with being driven by creative fevers. Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination, but because their imagination reveals worlds that others cannot see. -- Larry OBrien and Bruce Eckel in Thinking in C#
    1. 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?

      1. <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/)
        
        1. 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.