snorri: Cursor in Inputfeld setzen

Hi alle,

ich möchte per JavaScript den Textcursor an das Ende des Inhalts eines bestimmten Inputfeldes setzen. Hat jemand einen kurzen Tipp für mich, wie man das macht?

-- snorri

  1. Hi!

    ich möchte per JavaScript den Textcursor an das Ende des Inhalts eines bestimmten Inputfeldes setzen.

    Mit Hilfe von Javascript und der Eigenschaft charAt sollte es dir möglich sein, Zeichen an bestimmten Cursorpositionen in deinem Eingabefeld einzufügen bzw. den Cursor zu platzieren.

    Schöner Gruß,
    rob

    1. Hm, das hilft mir noch nicht recht weiter. Die Position am Ende des Inhalts kann ich ja bequem mit string.length ermitteln.

      Aber wie lautet der JavaScript-Befehl zum setzen des Textcursors an diese Stelle?

      -- snorri

      1. Aber wie lautet der JavaScript-Befehl zum setzen des Textcursors an diese Stelle?

        Du kennst google: Javascript setzen Textcursor

        Struppi.

        --
        Javascript ist toll (Perl auch!)
        1. Hi Struppi,

          » Du kennst google
          Ja, für diesen Tonfall muss man das Selfhtml-Forum einfach lieben ... :-)

          Danke für den Link jedenfalls, er hat mein Problem gelöst, wenn auch meine Frage nicht ganz beantwortet (Eine selection zu erstellen reicht mir in diesem Fall, aber wie man den Cursor platziert habe ich dem Code noch nicht entnehmen können, da die betreffende Funktion move() anscheinend nicht auf selfhtml dokumentiert ist ...)

          -- snorri

          1. hi,

            » Du kennst google
            Ja, für diesen Tonfall muss man das Selfhtml-Forum einfach lieben ... :-)

            Ich liebe es eigentlich weniger dafür, dass die Leute, die zur eigenständigen Nutzung dieses Werkzeuges zu faul oder ... sind, sich dann auch noch über den "Tonfall" beschweren müssen ...

            Danke für den Link jedenfalls, er hat mein Problem gelöst, wenn auch meine Frage nicht ganz beantwortet (Eine selection zu erstellen reicht mir in diesem Fall, aber wie man den Cursor platziert habe ich dem Code noch nicht entnehmen können, da die betreffende Funktion move() anscheinend nicht auf selfhtml dokumentiert ist ...)

            Ja kennst du nun Google, oder nicht ...?

            http://www.html-world.de/program/js_o_tra.php#methoden
            http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/move.asp

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Ich liebe es eigentlich weniger dafür, dass die Leute, die zur eigenständigen Nutzung dieses Werkzeuges zu faul oder ... sind, sich dann auch noch über den "Tonfall" beschweren müssen ...

              Wie gut dass ich nicht so einer bin ... :-) sondern nur nicht die richtigen Suchbegriffe gewusst habe, um das zu finden, was ich suchte.

              http://www.html-world.de/program/js_o_tra.php#methoden

              Die Methode collapse() klingt doch genau nach dem, was ich will: Den Cursor an das Ende des Inhalts des Inputfeldes zu setzen. Anscheinend verstehe ich aber noch nicht recht, wie man sie anwendet ... so tut sich jedenfalls nichts:

              <input type="Text" id="meinEingabefeld" value="blafasel">
              <a href="javascript:document.all.meinEingabefeld.createTextRange().collapse(true); document.all.meinEingabefeld.focus();">test</a>

              Der Code stammt von der verlinkten Seite ... ich habe es auch mal mit getElementById statt document.all versucht, das bringt mich auch nicht weiter.

              Jemand ne Idee?

              -- snorri

              1. hi,

                Die Methode collapse() klingt doch genau nach dem, was ich will: Den Cursor an das Ende des Inhalts des Inputfeldes zu setzen.

                Nur dein Aufruf der Methode mit dem Parameter true klingt nicht danach.

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
                1. Naja, wenn das eine geht, geht das andere auch. Aber ich habe es auch mit "false" getestet.

                  Ist aber wurscht, ich habe es ja schon mit move() hinbekommen.

                  Danke jedenfalls!

                  -- snorri

          2. Du kennst google
            Ja, für diesen Tonfall muss man das Selfhtml-Forum einfach lieben ... :-)

            Gell.

            Danke für den Link jedenfalls, er hat mein Problem gelöst, wenn auch meine Frage nicht ganz beantwortet (Eine selection zu erstellen reicht mir in diesem Fall, aber wie man den Cursor platziert habe ich dem Code noch nicht entnehmen können, da die betreffende Funktion move() anscheinend nicht auf selfhtml dokumentiert ist ...)

            ich hab dann nochmal google bemüht und bvin auf der zweiten Seite fündig geworden: http://www.google.de/search?q=cursor+position+javascript&num=20&hl=de&lr=&ie=UTF-8&start=20&sa=N
            Du auch?

            Struppi.

            --
            Javascript ist toll (Perl auch!)
            1. Hallo Struppi.

              Danke für den Link jedenfalls, er hat mein Problem gelöst, wenn auch meine Frage nicht ganz beantwortet (Eine selection zu erstellen reicht mir in diesem Fall, aber wie man den Cursor platziert habe ich dem Code noch nicht entnehmen können, da die betreffende Funktion move() anscheinend nicht auf selfhtml dokumentiert ist ...)

              ich hab dann nochmal google bemüht und bvin auf der zweiten Seite fündig geworden: http://www.google.de/search?q=cursor+position+javascript&num=20&hl=de&lr=&ie=UTF-8&start=20&sa=N

              Dieser Link kann in Zukunft (oder je nach Einstellung) völlig andere Ergebnisse bringen, als du sie siehst. Verlinke besser konkrete Seiten.

              Einen schönen Mittwoch noch.

              Gruß, Mathias

              --
              ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
              debian/rules
            2. Ich mag mich ja täuschen, aber damit finde ich eine Reihe von Seiten, die sehr hilfreich sind, wenn ich Text an der aktuellen Cursorposition einfügen will -- aber keine, die mir sagt, wie ich diese Cursorposition _ändere_.

              -- snorri

              1. Ich mag mich ja täuschen, aber damit finde ich eine Reihe von Seiten, die sehr hilfreich sind, wenn ich Text an der aktuellen Cursorposition einfügen will -- aber keine, die mir sagt, wie ich diese Cursorposition _ändere_.

                http://parentnode.org/javascript/working-with-the-cursor-position/

                Struppi.

                --
                Javascript ist toll (Perl auch!)
                1. Jetzt hab ichs gefunden (weiter unten, Nummer 5). "character" ist dabei ein Parameter (kein Platzhalter für einen eigenen Begriff, wie ich zunächst dachte), wie wahsaga's Link erklärt: http://www.html-world.de/program/js_o_tra.php#methoden

                  So klappts dann mit dem Sprung zum Inhaltsende:

                  <script language="JavaScript">
                  function testit() {
                   var range = document.getElementById('meinEingabefeld').createTextRange();
                   range.move("character", document.getElementById('meinEingabefeld').value.length);
                   range.select();
                  }
                  </script>

                  <input type="Text" id="meinEingabefeld" value="blafasel">
                  <a href="javascript:testit()">test</a>

                  Dank an alle!

                  -- snorri

                  1. auf der von mir verlinkten Seite ist eine Funktion die setCaretTo() heißt und Browserübergreifend den Cursor positioniert.

                    Struppi.

                    --
                    Javascript ist toll (Perl auch!)