Подтвердить что ты не робот

Reset цвет рамки ввода (HTML/Javascript)

Кто-нибудь знает, как reset цвет границы элемента управления вводом, если вы изменили его с помощью javascript? Полезно для проверки, выделяя поля с неправильными или недействительными данными в них и т.д.

например. изменение границы:

document.getElementById('myinput').style.border = '1px solid red';

как reset? следующая строка просто полностью удаляет границу...

document.getElementById('myinput').style.border = '';

если я reset цвет рамки возвращается к определенному цвету (например, черный или серый и т.д.), в некоторых браузерах/операционных системах может показаться странным что-то вроде "темы" элементов управления...

спасибо кучи!

4b9b3361

Ответ 1

Не делайте этого с настройкой атрибутов стиля. Сделайте это, используя классы CSS. Я бы также рекомендовал использовать библиотеку Javascript для этого. Это просто делает код чище.

Удаление атрибутов CSS проблематично, потому что вы не всегда знаете, на что они должны быть возвращены. Добавление и удаление классов просто... работает.

У вас может быть несколько классов для каждого элемента, поэтому на самом деле нет аргументов против его выполнения (imho).

Я использую jQuery, поэтому мой пример с этим.

Неправильно:

$("#myinput").css("border", "1px solid red");

Правильный путь:

<style type="text/css">
.redborder { border: 1px solid red; }
</style>

<script type="text/javascript">
$("#myinput").addClass("redborder");
$("#myinput").removeClass("redborder");
$("#myinput").toggleClass("redborder");
</script>

Ответ 2

Это работает для меня:

document.getElementById('myinput').style.removeProperty('border');

Ответ 3

Вы просто хотите, чтобы граница ушла? Я так не думаю, поскольку вы заявили, что это не так.

Правильный способ "reset" - установить значение по умолчанию. Я не уверен, что такое дефолт, но я бы предположил что-то вроде "1px black" или аналогичного.

Я часто использую эту технику в самых разных приложениях. Когда я не знаю значение по умолчанию, я установлю свой собственный "по умолчанию", чтобы повторить его. Один из моих любимых методов, с веб-страницами, заключается в том, чтобы установить цвет фона элемента управления, а не границу. Он очень заметен, и вы можете выбрать более приглушенный цвет и по-прежнему оказывать влияние. В этом случае очень просто установить фон обратно на белый, который по умолчанию.