92 votes

Mise à jour de la valeur d'une entrée sans perdre la position du curseur

Je veux exiger que la valeur d'une zone de texte soit en minuscules en utilisant JavaScript. J'ai essayé le code ci-dessous, mais le curseur saute à la fin de la saisie chaque fois que vous appuyez sur une touche. Comment puis-je éviter cela ?

$("#beLowerCase").keyup(function(){
    $(this).val( $(this).val().toLowerCase() );
});

141voto

onetrickpony Points 9833
$("#beLowerCase").on('input', function(){

    // store current positions in variables
    var start = this.selectionStart,
        end = this.selectionEnd;

    this.value = this.value.toLowerCase();

    // restore from variables...
    this.setSelectionRange(start, end);
});

( violon )


Cela fonctionne également avec les CSS :

#beLowerCase{
  text-transform:lowercase;
}

Et le serveur peut s'occuper de la mise en minuscule...

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