Новые Webkit преобразуют десятичную запятую в ~ точку и наоборот при вводе числового типа. Имя Javascript этой функции браузера?
Я обнаружил особенную функцию браузера в последних версиях Chrome (35; Win / Android / iOS) и Safari (7; iOS). Если у вас есть математическая форма сinput type="number"
и введите число с десятичной запятой, браузеры выполняют вычисления с номером, как если бы запятая была точкой. И если вы вводите числа с десятичными точками, они выполняют свои обычные вычисления, но полученная цифра отображается с десятичной запятой. То есть в моей европейской (т.е. голландской) версии. Я не знаю об американских версиях.
Если вам будет трудно в это поверить, я сделал демонстрацию, чтобы продемонстрировать это:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Demo Browser Behavior w/ Number Inputs</title>
<style>
input {
box-sizing: border-box;
margin-top: 10px;
width: 100px;
}
</style>
</head>
<body>
<form name="theForm">
<input type="number" name="A1field" min="0" max="100" step="0.1"> Input field
<br>
<input type="number" name="A2field" min="0" max="100" step="0.1"> Input field
<br>
<input type="button" value="Calculate" onclick="calculateAndPopulate()">
<br>
<input type="number" name="R1field" min="0" max="10000" step="0.01"> Result field
<br>
<input type="reset" value="Reset">
</form>
<script>
function calculateAndPopulate() {
var A1val = theForm.A1field.value;
var A2val = theForm.A2field.value;
var R1 = (A1val*A2val);
theForm.R1field.value = R1;
}
</script>
</body>
</html>
Живая демо здесь:http://codepen.io/anon/pen/xDvCB?editors=100, Подразумевается, что вам, вероятно, понадобится версия, созданная для стран с таким обозначением: 4,999,99 евро. Введите любые два числа меньше 100 с: a) по одному десятичному числу и b) десятичными запятыми, десятичными точками или их комбинацией. И удивляйтесь отображаемому результату - не имеет значения, используется ли для ввода точка или запятая, выходные данные вычислений всегда одинаковы, а выходные данные всегда отображаются с запятой.
Firefox 30 не имеет этой функции (или ошибки, в зависимости от того, как вы на нее смотрите), а также IE9 (не знаю о более поздних версиях). Я хотел бы знать, знает ли кто-нибудь имя Javascript этой функции. Я хотел бы сообщить посетителям с такими Webkits, что результаты могут быть своеобразными.
Обширный поиск в интернете с использованиемinput type = number (converts OR conversion) comma (dot OR period OR "full stop") browser feature
не дал мне ответ, который мне нужен. Я сталкивалсяэта статья создателя Chrome, но это только подтверждает (не слишком хорошо принят) функцию, не упоминает ее имя JS. И ни один не делаетэто так нить, которая является единственной СО-нитью, которую я смог найти, которая приближается к тому, что я пытаюсь выяснить.