Mortimer: Inhalt vom Formfeld aus einem anderen ziehen...

Hi

Ich habe 2 Formfelder:

1. formname=reply_msg mit einem textfeld (name=reply_content)
2. formname=clipboard mit einer inputzeile (name=clip_1)

Da es mehrere Inutfelder unter der Form CLIPBOARD gibt habe ich sie dynamisch von 1-x durchnummererien lassen.

Auf onclick soll das Script diese Funktion ausführen.
Es nimmt den wert aus der reply_content(textfeld) und aus der (clip_x) und soll sie zusammenfügen...

Leider erkennt mein Script nicht AddClip als variabel an...

Wie muss ich das in der Zeile (steht unten FEHLER dran) schreiben damit er die variabel übernimmt ?

function ClipTo(AddClip) {

var AddClip;
var revisedMessage;
var currentMessage = document.reply_msg.reply_content.value;
var ClipperMessage = document.clipboard."AddClip".value;  <<<<<<---FEHLER! =/
revisedMessage = currentMessage+ClipperMessage;
document.reply_msg.reply_content.value=revisedMessage;
document.reply_msg.reply_content.focus();
return;
}

ciao

  1. hi,

    Wie muss ich das in der Zeile (steht unten FEHLER dran) schreiben damit er die variabel übernimmt ?

    http://selfhtml.teamone.de/javascript/objekte/elements.htm#allgemeines

    gruss,
    wahsaga

    1. http://selfhtml.teamone.de/javascript/objekte/elements.htm#allgemeines

      Ich weiss nicht ob es das richtige für mich ist... ich gebe die inputfelder Dynamisch aus! =/
      Da wird das durchzählen nachher bei der Ausgabe unsinnig...

      Gibt es denn keinen Weg dass man sagt dass er sich den Elementnamen aus der Variabel holt die ich ihm übermittelt habe? =/

      quasi in PHP hiesse dass..

      function ($id) {
      $elementnummer = "formularname_".$id."_value";
      #Liefert z.B.: formularname_3_value
      }

      ciao

  2. Hallo Mortimer,

    function ClipTo(AddClip) {

    Hier definierst Du eine neue Variable AddClip, die den Übergabeparameter überschreibt:

    var AddClip;

    Lass diese Zeile einfach weg.

    var revisedMessage;
    var currentMessage = document.reply_msg.reply_content.value;
    var ClipperMessage = document.clipboard."AddClip".value;  <<<<<<---FEHLER! =/

    var ClipperMessage = document.clipboard.elements["AddClip"].value;
    (Im von Wahsager verlinkten Artikel steht nicht deutlich genug, dass das auch mit einem Feldnamen, und nicht nur mit der Nummer funktioniert.)

    return;

    Das return am Ende der Funktion kannst Du auch weglassen, wenn die Funktion keinen Wert zurückgibt.

    Grüße
    Andreas

    --
    "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning."
    (Rich Cook)
    1. Hallo nochmal,

      var ClipperMessage = document.clipboard.elements["AddClip"].value;

      var ClipperMessage = document.clipboard.elements[AddClip].value;

      Grüße
      Andreas

      --
      "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning."
      (Rich Cook)
      1. DANKE! =)

        *freut sich dass es nun geht*

        ... Danke für die wirklich gute hilfe =)
        Ich werd dich auf der Bühne erwähnen wenn ich mal ne Auszeichnung bekomme =)

        ciao!

    2. Ich habe mich wohl zu früh gefreut:

      er nennt mir als Fehler "dcoument.clipboard.elements[...] ist NULL oder kein objekt" =/

      Der gesamte Code:

      <html>
      <head>
      <title>Unbenanntes Dokument</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      </head>
      <body>
      <script language="JavaScript" type="text/JavaScript">

      function x () {
      return;
      }
      function ClipTo(AddClip) {
      var RevisedMessage;
      var CurrentMessage = document.reply_msg.reply_content.value;
      var ClipperMessage = document.clipboard.elements[AddClip].value;
      RevisedMessage = CurrentMessage+ClipperMessage;
      document.reply_msg.reply_content.value=revisedMessage;
      document.reply_msg.reply_content.focus();
      }

      /*
      var AddClip;
      var revisedMessage;
      var currentMessage = document.reply_msg.reply_content.value;
      revisedMessage = currentMessage+AddClip;
      document.reply_msg.reply_content.value=revisedMessage;
      document.reply_msg.reply_content.focus();
      return;*/
      </script>

      <form name="reply_msg" action="" method="post">
      <textarea name="reply_content" cols="50" rows="8"></textarea>
      </form>

      <form name="clipboard" action="" method="post">
      <p><a onclick="ClipTo(clip_1);" href="javascript: x()">link</a></p>
      <input type="hidden" name="clip_1" value="test123">
      </form>

      </body>
      </html>

      wieso? =/

      ciao

      1. Hallo Mortimer,

        er nennt mir als Fehler "dcoument.clipboard.elements[...] ist NULL oder kein objekt" =/

        <p><a onclick="ClipTo(clip_1);" href="javascript: x()">link</a></p>

        Klar, denn Du übergibst eine Referenz auf das Objekt clip_1 und nicht den Namen des Objekts als String an die Funktion.

        Grüße
        Andreas

        --
        "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning."
        (Rich Cook)