2010-05-20 3 views
1

Je souhaite autoriser les utilisateurs à saisir des nombres dans textfield et une fois que la zone de texte perd le focus. Le nombre est formaté avec des virgules.Grails - Comment formater une valeur dans un champ de texte en style virgule de sorte qu'elle puisse être facilement lue?

par exemple. L'utilisateur entre 100000
textfield desserre concentrer
valeur affichée: 100,000

Comment puis-je parvenir à Grails.

J'ai regardé

<g:formatNumber number="${myNumber}" format="\\$###,##0" /> 

Mais il ne marche pas résoudre mon problème car le nombre est d'un champ de texte.

merci

Très appréciée.

Répondre

1

Eh bien, vous devez comprendre la différence entre le code qui est exécuté sur le côté serveur et le script côté client. Votre exigence «une fois que la zone de texte perd son focus» ne peut tout simplement pas être satisfaite par Grails, car la détection de la perte de focus des éléments DOM et la réaction à celle-ci se produisent entièrement dans le navigateur de l'utilisateur. Vous devrez le faire en JavaScript (ce qui n'est pas un gros problème non plus). Par exemple thesetwo Les plugins jQuery devraient faire l'affaire (mais il y a beaucoup d'autres solutions, aussi pour d'autres bibliothèques JS).

+0

Merci Daniel. Je comprends ce que vous voulez dire ici. Eh bien, j'ai remarqué quand une propriété dit que Cost est déclaré aussi long dans le domaine. Grails ajoute automatiquement la logique de formatage. Ce qui implique: Lorsqu'un utilisateur entre un nombre (y compris des virgules) dans le champ de texte, Grails supprime automatiquement les virgules pour stocker uniquement le nombre dans la base de données. De même, lorsque le même champ est affiché en tant qu'étiquette, Grails ajoute automatiquement des virgules. Je ne sais pas comment cela fonctionne en arrière-plan. Je veux avoir un genre de fonctionnalité similaire. – WaZ

+0

Je comprends, que vous voulez formater l'entrée (numérique) d'un champ de texte HTML dès que l'utilisateur quitte ce champ de texte. Le point que j'essaie de faire est, que cette fonctionnalité ne peut être atteint avec des scripts côté client, à savoir. JavaScript. Grails n'a rien à voir avec ça. Jetez un oeil à JavaScript, jQuery et les deux plugins jQuery que j'ai liés dans ma réponse. –

+0

Salut Daniel, je sais ce que vous voulez dire mon code côté client et côté serveur. Si vous déclarez une propriété comme Long dans les grails, vous remarquerez que les grails le font automatiquement. S'il vous plaît laissez-moi savoir quand vous l'essayez. Merci. – WaZ

Questions connexes