Поле ввода HTML5 с типом= "число" не принимает запятую в браузере Chrome
Я использую поле ввода HTML5 с type="number"
. Что касается некоторых документов, то можно ввести число с запятой (не с точкой), если я также использую . Это работает в Firefox, но не в Chrome (не принимает запятую). Как я могу заставить Chrome принять запятую в поле ввода.
Моя проблема в том, что наши немецкие пользователи ожидают, что они могут ввести запятую вместо точки.
https://jsfiddle.net/byte2702/y3Lpfw7m/
Please enter a number with comma: <br/>
<input id="num" type="number" step="any" lang="de" pattern="-?[0-9]+[,.]*[0-9]+" />
3 ответов
на данный момент (30/2017) ответ Антуана Тири, похоже, больше не действителен в Chrome (моя версия 60.0.3112.113). К сожалению, у меня нет другого предложения, кроме моделирования type="number" с помощью javascript.
на самом деле, если я правильно читаю документацию, pattern
is не поддерживается на type=number
. следовательно, придерживайтесь type=text
и затем добавить pattern="..."
для проверки передней части. на следующем шаге вам нужно будет преобразовать текстовый ввод в реальное число, если он не совместим с форматом JavaScript / computing.
2017 и все еще нет хорошего решения для этой общей проблемы...
Что касается сейчас, я пробовал
<html lang="en">
или
<input type="number" lang="en">
и это позволило мне ввести любую: запятую или точку. Я тестировал его на настольных Ubuntu и мобильных Android в Firefox и Chrome.