Donc, actuellement, j'ai un champ de saisie de texte avec une valeur qui est également à mise au point automatique.
Au chargement de la page, la valeur est sélectionnée/mise en surbrillance. Est-il possible de placer le curseur à la fin du texte de valeur au lieu de le surligner en javascript ou CSS?
Voici un violon js où la valeur du texte autofocused est mise en évidence: http://jsfiddle.net/TaGL5/
Voici le code HTML: <input type="text" value="value text" autofocus />
Ça marche pour moi
<input type="text" autofocus value="value text" onfocus="this.value = this.value;"/>
Mise à niveau vers la réponse de @ harsha: j'ai constaté que, pour que la solution fonctionne avec Firefox, Nous avons besoin d'une valeur de réinitialisation temporaire sur "valeur non équivalente", puis la réinitialiser.
<input type="text" autofocus value="value text" onfocus="var temp_value=this.value; this.value=''; this.value=temp_value" />
Utilisez Jquery pour cela:
$(function() {
var input = $("#txt1");
var len = input.val().length;
input[0].focus();
input[0].setSelectionRange(len, len);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<input type="text" id="txt1" value="Lorem" style="width:400px;" />
Mais certains navigateurs ne supportent pas la propriété enter code here
, auquel cas utilisez ceci:
$(document).ready(function(){
$("#search").focus(function(){
if (this.setSelectionRange)
{
var len = $(this).val().length;
this.setSelectionRange(len, len);
}
else
{
$(this).val($(this).val());
}
});
$("#search").focus();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input id="search" type="text" value="mycurrtext" size="30" name="search" />
Cette question existe déjà sur stackoverflow:
Vous pouvez ajouter ce paramètre à votre champ de saisie de texte:
onmouseover="this.setSelectionRange(this.value.length,this.value.length);"
onfocus="this.setSelectionRange(this.value.length,this.value.length);"
NB: Fonctionne bien sous Chrome en 2017.
Utilisez ceci, c'est du beau travail pour moi ...
<input type="text" name="txt" value="value text" autofocus="" onfocus="this.setSelectionRange(this.value.length,this.value.length);">
OU ajouter cette ligne à votre élément d'entrée
onfocus="this.setSelectionRange(this.value.length,this.value.length);"