2010-10-27 8 views
3

J'ai un formulaire ASP.Net simple avec txtBox et btn.
L'utilisateur clique sur btn, ce qui ajoute du texte à un ASP: TextBox dans une publication (son ajout d'un "texte de démarrage" connu)
Après la publication, j'aimerais que le focus soit défini à la fin du texte dans la zone de texte Si j'appelle Page.SetFocus (...) ou txtBox.Focus() alors le txtBox obtient le focus, mais au début du texte - ce qui signifie que si l'utilisateur commence à taper, il sera dans le mauvais endroit.Définir le focus à la fin du texte dans la zone de texte après la publication?

par exemple
cursor 100-01

aimerait qu'il soit

100-01 cursor

J'ai essayé ce qui suit dans la zone de texte:

onfocus="alert('focus');this.value = this.value;" 

mais la "alerte" apparaît que les deux premières fois? Alors rien?

+0

plaese ne rediffuser pas la même question : http://stackoverflow.com/questions/4033141/set-focus-in-textbox-after-postback Vous pouvez toujours éditer votre question. Jetez un oeil à ce fil pour plus d'informations: http://meta.stackexchange.com/questions/7046/how-to-get-attention-for-your-old-unanswered-questions –

Répondre

5

Je trouve une solution dans asp.net website (vérifier la discussion sur la version du navigateur croix de solution donnée!)

il y a du code JavaScrip qui le font:

<script type="text/javascript"> 
     function SetCursorToTextEnd(textControlID) 
     { 
      var text = document.getElementById(textControlID); 
      if (text != null && text.value.length > 0) 
      { 
       if (text.createTextRange) 
       { 
        var FieldRange = text.createTextRange(); 
        FieldRange.moveStart('character', text.value.length); 
        FieldRange.collapse(); 
        FieldRange.select(); 
       } 
      } 
     } 
</script> 
+0

Comment puis-je appeler cela à partir de la publication bien que? – BlueChippy

+0

Je voudrais épingler cette fonction sur le gestionnaire d'événements onFocus, comme dans votre exemple. – zgorawski

Questions connexes