28 votes

Focus sur le champ de saisie avec JQuery sans sélectionner le texte de la valeur actuelle

$("#myinputfield").focus();

Si vous faites cela sur un champ de saisie dont la valeur est déjà définie, la valeur actuelle sera sélectionnée. Comment puis-je mettre en évidence le champ sans sélectionner le texte ?

27voto

Ben Points 3374

J'ai cherché un peu et j'ai découvert que vous deviez remettre votre valeur dans le champ désiré après avoir fait la mise au point.

26voto

bensie Points 4255

Que diriez-vous de quelque chose comme ceci où vous définissez la valeur du champ de saisie sur lui-même après l'avoir mis au point ?

$("#myinputfield").focus().val($("#myinputfield").val());

6voto

manish_s Points 1045

D'autres réponses suggèrent de définir la valeur du champ de saisie sur lui-même après l'avoir mis au point. Si dans Firefox, le curseur apparaît au début de la saisie et que vous voulez qu'il soit à la fin, une légère modification est nécessaire. Vous devrez d'abord définir la valeur comme vide, puis la définir comme la valeur précédente.

var value = $("#myinputfield").val();
$("#myinputfield").focus().val('').val(value);

3voto

cwallenpoole Points 34940

Avez-vous essayé ?

var txt = $("#myinputfield").val();
$("#myinputfield").focus();
$("#myinputfield").val( txt );

0voto

John Smith Points 47
function focusField(id){
    var inputField = document.getElementById(id);
    if (inputField != null && inputField.value.length != 0){
        if (inputField.createTextRange){
            var FieldRange = inputField.createTextRange();
            FieldRange.moveStart('character',inputField.value.length);
            FieldRange.collapse();
            FieldRange.select();
        }else if (inputField.selectionStart || inputField.selectionStart == '0') {
            var elemLen = inputField.value.length;
            inputField.selectionStart = elemLen;
            inputField.selectionEnd = elemLen;
            inputField.focus();
        }
    }else{
        inputField.focus();
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X