Bernhard Peissl: Hmm... Holzbrett vor dem Kopf ???

Beitrag lesen

Hallo liebes Forum,

möglicherweise habe ich schon einen ganzen Wald vor meinem Kopf, denn ich kann folgendes Problem nicht mehr lösen:

Folgender Eintrag steht in einer HTML-Datei:

[...

<script language="javascript" src="mailme.js" type="text/javascript">
</script>

<body>
<A HREF="javascript:mails[0].sendeMail()">Message senden</A>
</body>

...]

Die Externe MAILME.JS sieht wie folgt aus:

var mails = new Array();

mails[0] = new mailObjekt('andreas.mueck@mfh-iserlohn.de','Die Seite ist ja nicht zum aushalten *fg*',' Hier kommt mein Kommentar :');
mails[1] = new mailObjekt('andreas.mueck@mfh-iserlohn.de','Ich finde die Seite gut !','Hier kommt mein Lob :');

function mailObjekt(to, su, bo) {

»»  
»»  this.to = to    // AN:
»»  this.su = su    // BETREFF:
»»  this.bo = bo    // NACHRICHT:
»»  
»»  this.sendeMail = sendeMail;

}

function sendeMail() {

»»  
»»       var urlString = this.to;

braucht man in der Methode das this ? Ich trau mich nicht sagen ob das geht oder falsch ist!

»»  if (this.su) {
»»             urlString  = formatiereMailurl(urlString);

urlString  = urlString + "subject=" +(this.su);
        }

Du löscht jedesmal den urlString! Wolltest wahrscheinlich schreiben urlString += .... ;-)

»»  if (this.bo) {

urlString  = formatiereMailurl(urlString);

»»              urlString  = urlString + "body=" +(this.bo);
»»  }

Wozu die Klammern am Schluss? haben die einen tieferen Sinn, den ich noch nicht kenne ?
  
»»  // alert(urlString);
»»  location='mailto:' +urlString;

}

was geschieht weiter mit location ? return location ?

function formatiereMailurl(formatStr) {
    var formatStr;
    if (formatStr.indexOf("?") == -1)
       formatStr = formatStr + "?"
    else
       formatStr = formatStr + "&";
    return formatStr;
}

Any ideas ? *Das Brett fängt langsam an zu schmerzen*

Wie gesagt, es sind Ideen, bin aber auch kein JS-Profi !

Du könntest das ganze natürlich auch ein bischen weniger objektorientiert lösen: Der Funktion die Zahl
für das mail-Objekt übergeben, und einfach ein normales Stringobjekt draus machen!
Geht meiner Meinung nach einfacher :-)

keep it simple ;-)
Bernhard