12
votes

JQuery Zip masquage pour plusieurs formats

J'ai une exigence de masquant un champ zippé de manière à permettre au format CLASSIC 5 chiffres à 5 chiffres (xxxxx-xxxx).

Je pouvais alors quelque chose comme: xxx

mais la complication provient du fait que le tiret ne doit pas être affiché si l'utilisateur ne dispose que de 5 chiffres.

C'est le meilleur que je suis arrivé jusqu'à présent - je pourrais l'étendre pour insérer automatiquement le tiret lorsqu'ils insèrent le 6ème chiffre, mais le problème avec ce serait un comportement amusant sur la suppression (je pouvais les arrêter de supprimer le tableau de bord. mais cela corrigerait le patch et ainsi de suite, il devient un cauchemar): xxx

existe-t-il de la manière de faire cela ou dois-je faire rouler le mon propre ?


3 commentaires

J'ai ce même problème, avez-vous déjà trouvé une solution appropriée? Merci!


@Benl. pas vraiment - j'ai fini par diviser les champs dans plusieurs zones de texte


Cela pourrait aider: igorescobar.github.io/jquery-mask-plugin


5 Réponses :


-1
votes

Pourquoi ne pas avoir le champ être transparent et avoir un objet texte derrière celui-ci avec le formulaire en gris clair? Donc, ils voient ####### - #### en arrière-plan, puis placez-le afin que les lettres disparaissent comme elles tapent. À ce stade, il suggère qu'ils devraient entrer un tiret si elles veulent mettre les quatre supplémentaires, non? Ensuite, vous pourriez simplement placer le script pour automatiser le trait d'union si ils gâchent et tapez 6 numéros?


0 commentaires

0
votes

Si vous utilisez déjà JQuery, il y a probablement des centaines de plugins pour les masques, etc., par exemple: http://www.meiocodigo.com/projects/meiomask/

Donc, je ne pense pas que vous devriez rouler votre propre


0 commentaires

10
votes

Vous n'avez pas à utiliser un plug-in différent. Il suffit de déplacer le point d'interrogation, de sorte que, à la place de: xxx

Vous devez utiliser: xxx

Après tout, ce n'est pas la totalité String qui est facultatif, juste le - et vers l'avant.


0 commentaires

1
votes

Ce code postal est en fait simple, mais lorsque vous avez un format plus complexe à gérer, voici comment cela est résolu avec le plugin (à partir du page de démonstration ): xxx


0 commentaires

0
votes

Lorsque vous utilisez JQuery InputMask Plugin et que vous souhaitez utiliser des valeurs de 4 ou 5 chiffres pour le code postal, vous devez utiliser:

$ ('# myzipfield'). INPUTMASK ("9999 [9]");


1 commentaires

La question posée sur l'utilisation d'utiliser ##### ou ##### - #### formats, pas 4 ou 5 chiffres.