Я создаю форму для мобильного веб-приложения с полями ввода с запросом ввода номера, поэтому я использую input type="number"
для проверки, и он работает хорошо. Я также меняю поведение на основе ввода в поле. Мне нужно скрыть div
, пока пользователь не вводит текст в поле. Когда они удаляют весь текст из поля, затем снова скройте div
. Это легко сделать - определить keyup
на входе и если его value
- пустая строка или нет. Проблема возникает, когда пользователь вводит текст, который не является допустимым числом (возможно, по крайней мере, с клавиатурой iOS). К сожалению, введенный текст value
представляет собой пустую строку. Поэтому мой код скрывает div
, когда мне все еще нужно, чтобы он был видимым, потому что он считает, что в поле ввода нет value
.Тест на фактическое значение типа ввода = «число»
Как я могу получить фактический value
, хранящийся в виде ввода, чтобы я мог протестировать его? (Мне нужно сохранить тип ввода номера, чтобы появилась соответствующая клавиатура.) Спасибо!
Вот мой фрагмент кода:
$('input.deletable').keyup(function() {
console.log($(document.activeElement).val()); //returns empty string if input is "?)&" for example
if ($(document.activeElement).val() != '')
$('#myDiv').css('display', 'block');
else
$('#myDiv').css('display', 'none');
});
Пустая строка действительно * есть * «фактическое значение». – Pointy