web-dev-qa-db-fra.com

Jquery se concentre sur le premier champ de texte et définit le curseur à la fin de la valeur pour une saisie instantanée des données

Je charge un formulaire et je mets le focus par défaut sur le premier champ de texte. Le champ de texte est rempli avec une valeur par défaut "PW-". (Les premiers caractères du numéro de pièce du client comme PW-446, PW-9887)

Ils veulent simplement commencer à taper les nombres lors du chargement du formulaire au lieu de cliquer à la fin du champ, etc. pour taper des nombres. Le curseur doit clignoter à la fin du PW- et prêt à être utilisé pour l'entrée de données.

J'ai essayé de nombreuses méthodes différentes trouvées sur StackOverflow sans chance :
Des idées? Merci d'avance!

--- ([~ # ~] jquery [~ # ~]

$(document).ready(function(){

    $('input:text:first').focus();

});

HTML

< input type="text" name="part_id" size="20" value="PW-">
15
Michael

Voici un exemple de [~ # ~] [~ # ~] :

$(document).ready(function(){
    var el = $("input:text").get(0);
    var elemLen = el.value.length;

    el.selectionStart = elemLen;
    el.selectionEnd = elemLen;
    el.focus();
});​

https://developer.mozilla.org/en-US/docs/XUL/Property/selectionStart

https://developer.mozilla.org/en-US/docs/XUL/Property/selectionEnd

Pour les anciennes versions de IE, vous devrez peut-être utiliser: http://msdn.Microsoft.com/en-us/library/ie/ms536401 (v = vs.85) .aspx

37
Chase

Quelque chose d'un peu différent: essayez peut-être de définir votre "PW-" juste dans le texte à gauche du champ de saisie de texte. Validez par rapport aux non-nombres dans le champ, puis lors de la soumission du formulaire, ajoutez le "PW-" à la valeur de ce champ, de sorte que vous ayez un numéro de pièce complet.

0
Scrimothy