Я не мог найти тип, который работал бы лучше всего для меня во всех ситуациях: мне нужно было ввести значение по умолчанию для числовой записи (например, «7,5»), но также в определенное время разрешить текст (например, «передать»). Пользователи хотели использовать цифровую клавиатуру (например, запись 7,5), но иногда требовался ввод текста (например, «пропуск»).
Вместо этого я добавил флажок в форму и позволил пользователю переключать мой ввод (id = "inputSresult") между type = "number" и type = "text".
<input type="number" id="result"... >
<label><input id="cbAllowTextResults" type="checkbox" ...>Allow entry of text results.</label>
Затем я подключил обработчик кликов к флажку, который переключает тип между текстом и числом в зависимости от того, установлен ли флажок выше:
$(document).ready(function () {
var cb = document.getElementById('cbAllowTextResults');
cb.onclick = function (event) {
if ($("#cbAllowTextResults").is(":checked"))
$("#result").attr("type", "text");
else
$("#result").attr("type", "number");
}
});
Это хорошо сработало для нас.