Julian von Mendel: innerHTML

Hallo,

ich hab folgende Javascript-Funktion:

function bla()
        {
                var text = "abc" + document.all.abc.innerHTML;
                document.all.abc.innerHTML = text;
        }

Außerdem eine Textarea:

<textarea cols="16" rows="5" name="xyz" id="all">123</textarea>

Wenn ich jetzt die Funktion bla aufrufe, soll in der Textarea "abc123" stehen. Es passiert aber nichts. Was mache ich falsch?

Schöne Grüße
Julian

--
"Wer in die Fußstapfen anderer tritt, hinterlässt selbst keinen Eindruck." - Christiane Weinhold
  1. Hallo Julian,

    var text = "abc" + document.all.abc.innerHTML;
                    document.all.abc.innerHTML = text;

    Was mache ich falsch?

    Du verwendest irgendwelchen nur IE-fähigen Müll. Nimm stattdessen getElementById() und value, dann sollte es auch klappen.

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
    1. Du verwendest irgendwelchen nur IE-fähigen Müll. Nimm stattdessen getElementById() und value, dann sollte es auch klappen.

      Zuerst denken, dann trollen. Sowohl Mozilla als auch Opera unterstützen das innerHTML-Attribut ebenfalls, allerdings nach DOM-Art mit Nodes.

      So sollte es portabel gehen:

      node = document.getElementById (abc);
      var text = "abc" + node.innerHTML;
      node.innerHTML = text;

      1. Hi Neo,

        vielen Dank an dich und David, jetzt gehts :)

        Schöne Grüße
        Julian

        --
        "Wer in die Fußstapfen anderer tritt, hinterlässt selbst keinen Eindruck." - Christiane Weinhold
  2. Hallo,

    ich hab folgende Javascript-Funktion:

    function bla()
            {
                    var text = "abc" + document.all.abc.innerHTML;
                    document.all.abc.innerHTML = text;
            }

    Außerdem eine Textarea:

    <textarea cols="16" rows="5" name="xyz" id="all">123</textarea>

    Wenn ich jetzt die Funktion bla aufrufe, soll in der Textarea "abc123" stehen. Es passiert aber nichts. Was mache ich falsch?

    Wieso machst du solche Verrenkungen mit innerHTML und getElementById? Du willst auf ein Formularfeld zugreifen, das geht schon seit Anbeginn von JavaScript über http://de.selfhtml.org/javascript/objekte/forms.htm.

    <form action="..." name="formular">
    <p><textarea cols="16" rows="5" name="xyz">123</textarea></p>
    </form>

    function bla () {
       var text = "abc" + document.forms['meinformular'].elements['xyz'].value;
       document.forms['meinformular'].elements['xyz'].value = text;
    }

    Mathias