2017-08-08 3 views
0

Lorsque j'entre par ex. 47,5 dans un champ de type d'entrée = "nombre", mon navigateur (Firefox) le convertit automatiquement en 47.5 lors de l'envoi du formulaire au serveur. (Ma culture client utilise une virgule décimale.) Je voudrais qu'il envoie la valeur telle quelle (avec une virgule décimale) car il serait plus pratique de traiter une culture spécifiée par l'utilisateur plutôt qu'un mélange d'utilisateur et de 'défaut' ' Culture. Comment puis-je faire ceci?Comment forcer les navigateurs à envoyer un type d'entrée = valeur numérique telle quelle?

+0

Alors, que faites-vous lorsque vous calculez avec des nombres? Si vous voulez vraiment le forcer, utilisez 'type = text' – lumio

+0

Puisque le format dépend de la locale du navigateur, vous ne savez pas exactement comment le navigateur l'enverra. Non, c'est une bonne chose que la valeur soit normalisée à un format prévisible. Vous devez toujours formater les valeurs numériques de la façon dont vous les voulez en sortie. – deceze

+0

@deceze Cela devrait dépendre des paramètres régionaux du navigateur, mais cela semble être le contraire. Pour mes paramètres régionaux, le format correct est 47,5 (et Firefox n'accepte pas 47,5), mais il est ensuite converti en 47,5 lorsque le formulaire est envoyé. – user2286759

Répondre

0

Dans les dernières éditions de Firefox et Chrome si vous avez attribut spécifié « type » que le numéro, il indiquera une erreur en entrant dans la valeur 47,5 ou 47,5

Nous ne pouvons pas contrôler l'environnement client

Il existe des cas où l'apostrophe est également utilisée. Comme lumio spécifié, vous pouvez utiliser type = "text" et analyser du côté serveur.

+0

Je crois qu'il n'y a pas de type = entier, seulement type = nombre. Vous avez raison au sujet de l'environnement client, et je veux que le navigateur le respecte plutôt que de faire des conversions par lui-même. – user2286759

+0

Désolé ma mauvaise. Merci pour la correction. –