重置输入控件';s边框颜色(HTML/Javascript)

重置输入控件';s边框颜色(HTML/Javascript),javascript,html,dom,border,validation,Javascript,Html,Dom,Border,Validation,有人知道在使用javascript修改输入控件后如何重置其边框颜色吗?通过突出显示包含不正确或无效数据的字段等,对验证非常有用 例如,更改边界: document.getElementById('myinput').style.border = '1px solid red'; 如何重置?下一行只是完全删除了边框 document.getElementById('myinput').style.border = ''; 如果我将边框颜色重新设置为特定颜色(例如黑色或灰色等),在某些浏览器/操

有人知道在使用javascript修改输入控件后如何重置其边框颜色吗?通过突出显示包含不正确或无效数据的字段等,对验证非常有用

例如,更改边界:

document.getElementById('myinput').style.border = '1px solid red';
如何重置?下一行只是完全删除了边框

document.getElementById('myinput').style.border = '';
如果我将边框颜色重新设置为特定颜色(例如黑色或灰色等),在某些浏览器/操作系统中,控件的“主题”可能看起来很奇怪


谢谢你

不要设置样式属性。通过使用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>

.redborder{border:1px纯红色;}
$(“#myinput”).addClass(“红色边框”);
$(“#myinput”).removeClass(“redborder”);
$(“#myinput”).toggleClass(“红色边框”);

你只是想让边界消失吗?我不这么认为,正如你所说的那样,情况并非如此

“重置”的正确方法是设置为默认值。我不确定默认值是什么,但我猜是“1px黑色”或类似的东西

我通常在各种应用中使用这种技术。当我不知道默认值时,我将设置我自己的“默认值”,以便可以重复它。对于网页,我最喜欢的技术之一是设置控件的背景色,而不是边框。这是非常明显的,你可以选择一个更柔和的颜色,仍然有影响。在这种情况下,很容易将背景设置回白色,这是默认设置。

这对我很有用:

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

我同意使用背景色。实际上,我正在使用这两种方法,只是我在清除背景方面没有任何问题……我的目标是明确的方法。我在清除例程中将表单设置为默认值,然后用“error”颜色绑定。背景色和任何其他视觉效果都是如此。一旦我确信默认值,我可能会放弃clear()例程,这取决于表单的复杂性。