bleicher: mit JS in textare schreiben (doch , ich habe im archiv gesucht!)

Шалом ,друзі!

Auch nach längerer Archisuche gelang es mir nicht eine Lösung zu finden. Das problem ist - Firefox ist mit folgender JS zeile unzufriden:

document.getElementById('text').value+='<sup></sup>';

("smilescript" im Formular^^)

der meldet "document.getElementById('text') has no properties" ich kan wetten der sit mit "value=" bei "textarea" unzufrieden.(In der Eigenschafstsliste von "textarea" bei "selfhtml" gibts "value" tasächlich nicht) Doch der Eingriff über value wird ja überall als Lösung vorgeschlagen (die überkomplizierten mal ausgenomen).

Wäre nett wen mcih jmnd. aufklären würde^^

Danke im Voraus^^

  1. Hallo bleicher.

    document.getElementById('text').value+='<sup></sup>';

    ("smilescript" im Formular^^)

    der meldet "document.getElementById('text') has no properties"

    Wie sieht der gesamte Code aus? Kann es sein, dass du auf das Element mit der ID „text“ zu einem Zeitpunkt zugreifen willst, zu dem es noch gar nicht existiert? Dies kann der Fall sein, wenn das script im head-Element schon arbeitet, obwohl noch nicht einmal ein body-Element gerendert wurde.

    Abhilfe schafft hier die Verwendung des onload-Events:

    window.onload = function() { // Anonyme Funktion
      // Dein Code
    };

    Oder alternativ:

    function deine_funktion() {
      // Dein Code
    }
    window.onload = deine_funktion; // Referenz auf deine Funktion

    ich kan wetten der sit mit "value=" bei "textarea" unzufrieden.(In der Eigenschafstsliste von "textarea" bei "selfhtml" gibts "value" tasächlich nicht)

    <http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#textarea@title=Doch, gibt es>.

    Noch etwas anderes: in einer Textarea ist kein HTML erlaubt; obiges wird also höchstens als reiner Text eingefügt. Wenn dies gewünscht ist, ignoriere diesen Hinweis hier.

    Einen schönen Dienstag noch.

    Gruß, Mathias

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
    1. Wie sieht der gesamte Code aus? Kann es sein, dass du auf das Element mit der ID „text“ zu einem Zeitpunkt zugreifen willst, zu dem es noch gar nicht existiert? Dies kann der Fall sein, wenn das script im head-Element schon arbeitet, obwohl noch nicht einmal ein body-Element gerendert wurde.

      Die Funkton wird "per klick" ausgelöst , am vorzeitigen ausführen liegt es nicht.

      Noch etwas anderes: in einer Textarea ist kein HTML erlaubt; obiges wird also höchstens als reiner Text eingefügt. Wenn dies gewünscht ist, ignoriere diesen Hinweis hier.

      ok^^ tu ich

      1. Hallo bleicher.

        Wie sieht der gesamte Code aus? Kann es sein, dass du auf das Element mit der ID „text“ zu einem Zeitpunkt zugreifen willst, zu dem es noch gar nicht existiert? Dies kann der Fall sein, wenn das script im head-Element schon arbeitet, obwohl noch nicht einmal ein body-Element gerendert wurde.

        Die Funkton wird "per klick" ausgelöst , am vorzeitigen ausführen liegt es nicht.

        Dann solltest du wirklich den gesamten (aber auf ein sinnvolles Minimum gekürzten) Code zur Verfügung stellen, oder aber auf eine Beispielseite verlinken.

        Einen schönen Dienstag noch.

        Gruß, Mathias

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
        [HTML Design Constraints: Logical Markup]
        1. Danke allen^^ ihr werdet lachen , aber Windowsneustart hat das Problem beseitigt >_<

          1. Danke allen^^ ihr werdet lachen , aber Windowsneustart hat das Problem beseitigt >_<

            ...dann hätte es ein Leeren des Browser-Caches aber bestimmt auch getan, oder?

            --
            >> So long, and thanks for all the fish. <<
            1. leidet Firefox daran?? seitenreload überschreibt den doch??

              1. Hi bleicher,

                leidet Firefox daran?? seitenreload überschreibt den doch??

                Wenn du F5 drückst - nicht zwangsläufig, kommt drauf an, was der Server für einen Expires Header gesendet hat. Wenn du Strg + F5 drückst - ja, dann wird der Cache überschrieben.

                MfG, Dennis.

                --
                Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
                Patch zur Verwendung von PATHINFO in JLog
                Man kann die Menschen zur Vernunft bringen, indem man sie dazu verleitet, daß sie selbst denken. (Voltaire)
  2. Hi,

    document.getElementById('text').value+='<sup></sup>';

    der meldet "document.getElementById('text') has no properties" ich kan wetten der sit mit "value=" bei "textarea" unzufrieden.(In der Eigenschafstsliste von "textarea" bei "selfhtml" gibts "value" tasächlich nicht) Doch der Eingriff über value wird ja überall als Lösung vorgeschlagen (die überkomplizierten mal ausgenomen).

    Aber bestimmt nicht bei einer textarea... was du suchst ist innerText

    Achja, für HTML ist innerHTML zuständig, aber damit wirst du in einer Textarea wenig erfolg haben

    Gruß,
    Arthur D.

    --
    >> So long, and thanks for all the fish. <<
    1. Aber bestimmt nicht bei einer textarea... was du suchst ist innerText

      Also Opera kam mict value klar :(

      Firefox aber nörgelt immer noch - innerText weist er mit gleicher Fehlermeldung ab!

      Hier die Funktion (gekürzt um ein paar cases^^

      function insert(what) {

      switch (what) {

      case "hoch":
      document.getElementById('text').innerText+='<sup></sup>';
      break;

      }
      }

      1. Also Opera kam mict value klar :(

        Firefox aber nörgelt immer noch - innerText weist er mit gleicher Fehlermeldung ab!

        Hier die Funktion (gekürzt um ein paar cases^^

        function insert(what) {

        switch (what) {

        case "hoch":
        document.getElementById('text').innerText+='<sup></sup>';
        break;

        ok, ich war etwas voreilig... value gibt's auch bei textarea...
        Damit, oder mit innerHTML sollte es auch funktionieren.

        Sorry, für die Fehl-Info

        Gruß,
        Arthur D.

        --
        >> So long, and thanks for all the fish. <<
        1. ok, ich war etwas voreilig... value gibt's auch bei textarea...
          Damit, oder mit innerHTML sollte es auch funktionieren.

          SOLLTE!! tut es (Firefox letzte Version) aber nicht!! Opera schluckts aber..ist es ein Hinweis??

          1. ok, ich war etwas voreilig... value gibt's auch bei textarea...
            Damit, oder mit innerHTML sollte es auch funktionieren.

            SOLLTE!! tut es (Firefox letzte Version) aber nicht!! Opera schluckts aber..ist es ein Hinweis??

            hm, also im ff 1.5.0.6 funktioniert's und auch im ie (opera hab ich nicht)... zumindest das, was ich mir mit den wenigen Code-Zeilen von dir zusammengebastelt habe... vll liegt der Fehler woanders?

            --
            >> So long, and thanks for all the fish. <<
            1. ok, ich war etwas voreilig... value gibt's auch bei textarea...
              Damit, oder mit innerHTML sollte es auch funktionieren.

              SOLLTE!! tut es (Firefox letzte Version) aber nicht!! Opera schluckts aber..ist es ein Hinweis??

              hm, also im ff 1.5.0.6 funktioniert's und auch im ie (opera hab ich nicht)... zumindest das, was ich mir mit den wenigen Code-Zeilen von dir zusammengebastelt habe... vll liegt der Fehler woanders?

              hier ist der GANZE script (ich entschuldige mich auch für):
              wenn es "value" bei "textarea" gibt sollte es bei firefox funktionieren:

              <script language="JavaScript">
              function insert(what) {

              switch (what) {

              case "link":
              document.getElementById('text').value+='<a href="" target="new"></a>';
              break;

              case "br":
              document.getElementById('text').value+='<br>';
              break;

              case "p":
              document.getElementById('text').value+='<p></p>';
              break;

              case "square":
              document.getElementById('text').value+='<div class="square"></div>';
              break;

              case "hoch":
              document.getElementById('text').value+='<sup></sup>';
              break;

              case "h":
              document.getElementById('text').value+='<h5></h5>';
              break;

              case "imgl":
              document.getElementById('text').value+='[imgl][/imgl]';
              break;

              case "imgr":
              document.getElementById('text').value+='[imgr][/imgr]';
              break;

              case "imgz":
              document.getElementById('text').value+='[imgz][/imgz]';
              break;

              }
              }
              </script>

              aufgerufen durch ZB:

              <a href="javascript:insert('br')">br</a>

              1. <script language="JavaScript">

                du solltest hier auch den Typ angeben (type="text/javascript")
                das ändert allerdings nichts daran, dass es im Firefox funtioniert... das Problem liegt wohl woanders.
                Bekommst du immer noch die gleiche Fehlermeldung?
                Wie sieht deine Textarea aus?
                Laufen noch andere Scripte?

                --
                >> So long, and thanks for all the fish. <<