Sieben: Focus ans Ende des Textes

Hallo Leute.

Ich übergebe per GET eine Zeichenkette an ein Inputfeld. Wie kann man nun den Fokus an das Ende der Zk. setzen?

Danke!

  1. @@Sieben:

    nuqneH

    Ich übergebe per GET eine Zeichenkette an ein Inputfeld.

    ?? Das heißt sowas der Art: <input value="<?php [code lang=php]echo htmlspecialchars($_GET['foo']); ?>"/>[/code]

    Was serverseitig läuft, ist für dein clientseitiges Problem irrelevant.

    Wie kann man nun den Fokus an das Ende der Zk. setzen?

    http://stackoverflow.com/questions/511088/use-javascript-to-place-cursor-at-end-of-text-in-text-input-element

    Und wie kann man das selbst finden?

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. :) Vielen Dank!

      habs so gelöst:
      mitten in HTML, nach </form>

        
      <script language="JavaScript">  
      	$h = document.forms[0].note.value;  
      	document.forms[0].note.focus();  
      	document.forms[0].note.value = $h+" ";  
      </script>  
      
      
      1. @@Sieben:

        nuqneH

        mitten in HTML, nach </form>

        Ungünstiger Platz für ein JavaScript. Am Ende des 'body' wäre ein geeigneter.

        <script language="JavaScript">

        Das war noch nie sinnvoll.

        $h = document.forms[0].note.value;
        document.forms[0].note.focus();
        document.forms[0].note.value = $h+" ";

        Es ist auch nicht sinnvoll, dass Eigabe-Element wiederholt im DOM zu suchen. Einmal suchen und in einer http://de.selfhtml.org/javascript/sprache/variablen.htm#definieren@title=lokalen(!) Variablen speichern.

        Und wieso $h? Ist das ein sprechender Name? Und wieso mit $ davor?

          var inputElement = document.forms[0].note,  
              inputValue = inputElement.value;  
          
          inputElement.focus();  
          inputElement.value = inputValue + " ";
        

        Das kannst du auch einfacher haben:

        ~~~javascript var inputElement = document.forms[0].note;

        inputElement.focus();
          inputElement.value += " ";

          
        Willst du wirklich ein Leerzeichen anhängen? Oder den Cursor ans Ende des unveränderten(!) Textes setzen?  
          
        Qapla'
        
        -- 
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.  
        (Mark Twain)