Текст-заполнитель для типа ввода = «число» не отображается в webkit ICS

У меня есть следующее поле ввода

<input type="number" id="zip-code" placeholder="Zip code" /> 

Заполнитель отображается в обычных браузерах, кроме android 4.0 и выше, и ширина также уменьшается по сравнению с другими полями.
Что может быть ошибкой?

Solutions Collecting From Web of "Текст-заполнитель для типа ввода = «число» не отображается в webkit ICS"

Это известная ошибка в браузере Android Webkit по умолчанию. В соответствии с этой страницей QuirksMode вы можете видеть, что многие версии Android страдают от этого. Chrome для Android, с другой стороны, нет.

Для этого я создал простую корректировку JavaScript (исправление). Во-первых, прочитайте этот вопрос. Как отобразить текст заполнителя в вводимом числовом вводе HTML5 , а затем, если вы все еще хотите использовать такой же заполнитель, проверьте его решение .

TL; DR;

Оставьте свою разметку, как и следовало ожидать;

 <input type="number" placeholder="Enter some numbers" /> 

Затем запустите любой из этих скриптов после загрузки страницы;

 // jQuery version $("input[type='number']").each(function(i, el) { el.type = "text"; el.onfocus = function(){this.type="number";}; el.onblur = function(){this.type="text";}; }); // Stand-alone version (function(){ var elms = document.querySelectorAll("input"), i=elms.length; while(i--) { var el=elms[i]; if(el.type=="number"]) el.type="text", el.onfocus = function(){this.type="number";}, el.onblur = function(){this.type="text";}; } })(); 

При использовании type = "tel" вместо type = "number" отображается заполнитель, а цифровая клавиатура открывается в фокусе.

У меня была та же проблема, и мое решение устанавливало поле «type» в виде текста. Я думаю, что это происходит из-за свойства типа. Текст вашего заполнителя не является числом! Если вам нужно заставить пользователя использовать только формат номера, вы можете использовать плагины javascript для этого, и я сделал это так: