Установка значения в HTML 5 числового ввода не меняет достоверность

0

Если я ввожу в текстовое поле с числовым текстом html 5 какое-то недопустимое значение, скажем, "abc", тогда программным образом установите значение в допустимое значение, оно оставит недействительный псевдокласс активным. Есть ли способ, чтобы я мог правильно его проверить?

<style>
    input[type='number']:invalid { border: 1px solid red !important;}
    input[type='number']:valid { border: 1px solid green !important;  }
</style>
<form>
    Type something invalid:
    <input type='number' id='numericinput' />

    <button onclick="numericinput.value = 5;" type="button">Set to valid</button>
</form>

JSfiddle для демонстрации http://jsfiddle.net/V49B3/1/

  • 0
    Меня устраивает
  • 0
    Я отмечаю, что использую Chrome, возможно, он работает в других браузерах!
Показать ещё 3 комментария
Теги:

1 ответ

0

Я думаю, что лучший способ - использовать ввод с типом текста и проверить значение с помощью атрибута pattern. Вы можете найти полезное регулярное выражение на веб- сайте html5pattern.

<input type='text' id='numericinput' pattern='[0-9]*'/>
  • 0
    Спасибо, попробовал это на JSfiddle, без разницы :(
  • 0
    Вы изменили CSS: input[type='text']:invalid . Я тоже использую Chrome, и он работает как шарм.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню