Есть ли способ разрешить только отрицательный знак (или дефис) для первого символа во входном теге типа «число»? Это должен быть тип «номер», чтобы на мобильном телефоне отображалась правильная клавиатура. Тем не менее, пользователь может ввести несколько отрицательных знаков, прежде чем нажать «Отправить». Я использовал .checkValidity()
, что помогает, но предотвращает ввод отрицательного знака, если я сначала не наберу число. Я не могу проверить с помощью .value
, так как это возвращает пустое значение, если оно недействительно.
HTML
<input type="number" id="input">
JavaScript
var input = document.querySelector('#input');
var value;
input.oninput = function() {
if (input.checkValidity()) {
value = input.value;
}
else{
input.value = value;
}
}
Любая помощь приветствуется. Спасибо!