Rudi: Über Button in Textarea einfügen

Hi,

möchte nicht nerven, aber vielleicht ist es bei der Menge der Beiträge einfach zu weit nach unten gerutscht. Da es mir ziemlich wichtig ist stelle ich die Frage nochmal (keine Bange, nur dieses eine Mal noch). Es muß auch nicht unbedingt über die von mir hier dargestellte Möglichkeit gelöst werden, wenn es dazu etwas Besseres gibt nehme ich auch das dankbar an. Möchte einfach ein universelleres JavaScript haben, mit dem ich die Namen der Textareas nicht schon festgesetzt habe. Hier also mein alter Text:

Ich versuche, in eine Textarea über Buttons Text einzufügen. Das klappt so weit auch ganz gut, solange ich die Textarea immer gleich benenne. Da das bei mir aber teilweise nicht möglich ist, wollte ich das JavaScript hierfür universell gestalten. Habe in die eigentliche function noch den Parameter "AreaName" eingefügt, mit dem ich den Namen der Textarea übergebe. Das funktioniert so allerdings nicht, aus irgendwelchen Gründen nimmt er diesen Namen nicht an. Wie könnte ich dieses Problem sonst angehen? Berücksicht bei Antworten aber bitte, daß ich mit JavaScript eigentlich recht wenig zu tun habe, nur ein gefundenes Script anpassen wollte.

Hier der Button (die Textarea heißt "beschreibung"):
<input type="button" value="F" onClick="JavaScript:promptcode('Kursiver Text:', 'I', 'beschreibung')"  />

Und die JavaScript function (bei "AreaName" hakt es):
function promptcode(Nachricht,TagInhalt,AreaName){
  txt = prompt(Nachricht,"");
  if(txt != null){
    AddTxt = "["+TagInhalt+"]"+txt+"[/"+TagInhalt+"]";
    if (document.userpass) formid = document.userpass.AreaName;
    if (document.mf) formid = document.mf.AreaName;
    else formid=document.forms[0].AreaName;
    formid.value += AddTxt;
    formid.focus();
  }
}

Hätte dazu auch gleich noch eine weitere Frage. Möchte mittels PHP ein Bild hochladen lassen auf meinen Server. Der Upload geschieht über ein separates Popup-Fenster. Wie kann ich nun den absoluten Link gleich in die Textarea des Hauptfensters übermitteln? Freue mich über Antworten.

  1. <input type="button" value="F" onClick="JavaScript:promptcode('Kursiver Text:', 'I', 'beschreibung')"  />

    JavaScript: ist in diesem Falle ein Label und das ist reichlich überflüssig an dieser Stelle und erzeugt in alten Browser einen Fehler.

    <input type="button" value="F" onClick="promptcode('Kursiver Text:', 'I', 'beschreibung')"  />

    function promptcode(Nachricht,TagInhalt,AreaName){
    var txt = prompt(Nachricht,"");

    if(txt){
     var AddTxt = "["+TagInhalt+"]"+txt+"[/"+TagInhalt+"]";
      if (document.userpass) formid = document.userpass[AreaName];
      if (document.mf) formid = document.mf[AreaName];
      else formid=document.forms[0][AreaName];

    formid.value += AddTxt;
      formid.focus();
     }
    }

    Struppi.

    1. Vielen Dank für die Antwort, scheint auch zu funktionieren, aber...

      <input type="button" value="F" onClick="JavaScript:promptcode('Kursiver Text:', 'I', 'beschreibung')"  />

      JavaScript: ist in diesem Falle ein Label und das ist reichlich überflüssig an dieser Stelle und erzeugt in alten Browser einen Fehler.

      Stimmt, hatte gerade erst aus einem Textlink einen Button gebastelt und das ganz übersehen. onClick ist ja sowieso JavaScript.

      <input type="button" value="F" onClick="promptcode('Kursiver Text:', 'I', 'beschreibung')"  />

      function promptcode(Nachricht,TagInhalt,AreaName){
      var txt = prompt(Nachricht,"");

      if(txt){
      var AddTxt = "["+TagInhalt+"]"+txt+"[/"+TagInhalt+"]";
        if (document.userpass) formid = document.userpass[AreaName];
        if (document.mf) formid = document.mf[AreaName];
        else formid=document.forms[0][AreaName];

      formid.value += AddTxt;
        formid.focus();
      }
      }

      Das funktioniert, wenn ich eine neue Seite drumrum bastle. Baue ich es allerdings in meine Seite ein, bringt er mir den Fehler
      'formid' ist Null oder kein Objekt
      bei formid.focus();
      Finde aber bei meiner Seite nichts, was diesen verursachen könnte. Gibt es hier vielleicht eine allgemeingültige Aussage, was solch einen Fehler hervorrufen könnte? Wenn nicht, muß ich wohl ober übel ganz neu anfangen und nach und nach die Bestandteile meiner Seite einbauen. Irgendwann muß ich dann wohl auf das Problem stoßen. Wäre mir natürlich lieber, der Fehler würde irgendwem was sagen und er könnte mir dann einen Tip geben.