2011-04-25 67 views
12

我在做表单验证。当表单输入不正确,我添加了一个红色边框的文本框:使用javascript更改文本框边框颜色

document.getElementById("fName").style.borderColor="#FF0000" 

这则给了我一个2px的红色边框。我想要做的是,如果在一个正确的值用户putas回到原来的边界...

有人可以告诉我如何改变边框的大小和颜色在javascript

回答

2

document.getElementById("fName").style.borderColor="";

是所有你需要改变边框的颜色了。

要更改边框尺寸,请使用element.style.borderWidth = "1px"

+0

雅,但它给了我一个2px边框...我想要一个1px边框如果可能的话 – kevin 2011-04-25 20:30:09

+0

@kevin:看我的编辑。 – 2011-04-25 20:31:42

17

与CSS类,而不是

CSS

.error { 
    border:2px solid red; 
} 

现在,在JavaScript中使用CSS样式

document.getElementById("fName").className = document.getElementById("fName").className + " error"; // this adds the error class 

document.getElementById("fName").className = document.getElementById("fName").className.replace(" error", ""); // this removes the error class 

我提到这是假设的主要理由要改变错误元素边框的颜色。如果你选择自己的方式,你可能需要修改许多地方的代码。如果你选择我的方式,你可以简单地编辑样式表。

+0

评论来自[Savas Vedova](http://stackoverflow.com/users/1075534/savas-vedova)(拒绝编辑):'classname'无效。它是'className'。 – Anne 2011-12-04 22:35:27

+0

这个班每次都有。 – Hunsu 2014-07-13 12:40:57

+0

在CSS中保留样式做得非常好。 – tazboy 2015-03-05 19:39:08

10
document.getElementById("fName").style.border="1px solid black"; 
1

我同意维森特普拉塔你应该尝试使用jQuery恕我直言是最好的JavaScript库。您可以在CSS文件中创建一个类,只是做与jQuery如下:

$('#fName').addClass('name_of_the_class'); 

,这一切,当然,你会不会担心浏览器的不兼容,这是jQuery的团队问题:d LOL

3

平变化事件添加到您的输入元素:

<input type="text" id="fName" value="" onchange="fName_Changed(this)" /> 

的Javascript:

function fName_Changed(fName) 
{ 
    fName.style.borderColor = (fName.value != 'correct text') ? "#FF0000"; : fName.style.borderColor=""; 
} 
3

您可以尝试

document.getElementById('name').style.borderColor='#e52213'; 
document.getElementById('name').style.border='solid'; 
+1

请尝试用文字回答,而不是用代码回答。既然你这么晚回答,你的答案与其他答案有什么不同呢? – Artemix 2012-11-15 07:20:54