2010-07-14 61 views
6

如何使用jquery设置控件的默认边框颜色。如何使用jquery设置texbox的边框颜色

 if (_userName.val().trim() == "") { 
      errMsg += "\nUserName is a mandatory field."; 
      _userName.css('border-color', 'red'); 
     } 
     else { 
      _userName.css('border-color', 'red');//Set border-color as loaded 
//when page was loaded 
     } 

如何在加载页面时将边框颜色设置为加载。

回答

10

获取在页面加载和存储边框颜色在一个变量:

$(function(){ 
    var color = _userName.css('border-color'); 
}); 

然后你就可以在以后使用它:

if (_userName.val().trim() == "") { 
     errMsg += "\nUserName is a mandatory field."; 
     _userName.css('border-color', color); 
    } 
    else { 
     _userName.css('border-color', color); 
    } 

另外,还要确保有一个边界,至少如border:1px solid #colorcode

+0

如何在页面加载时获取颜色? – 2010-07-14 10:36:04

+0

@Shantanu Gupta:我在我的回答中添加了'var color = _userName.css('border-color');'你需要将该行放在'load'中,甚至是jquery的窗口或准备好的处理程序。 – Sarfraz 2010-07-14 10:40:53

0

我想给html元素改变一个指定颜色的css类。

只需卸下边框颜色将其重置的CSS类指定颜色:

_userName.css("border-color", "") 
5

我建议创建一个名为错误一种新的风格类和应用它的文本时,该字段包含错误。代码片段:

CSS:.error{border-color:#F00;}

 if (_userName.val().trim() == "") { 
      errMsg += "\nUserName is a mandatory field."; 
      $("#textboxid").addClass("error"); 
     } 
     else { 
      _userName.css('border-color', 'red');//Set border-color as loaded 
      $("#textboxid").removeClass("error"); 
     } 

优势:如果现场没有任何错误,我们就可以删除错误类和文本框的外观和感觉会回到原来的风格。不需要明确跟踪原始边框颜色。样式规则也可以重复使用! ;-)

2

要在页面加载时设置颜色,您可以执行以下操作。

$(function(){ 
    $('#ID for _userName').css('border-color', color); 
}); 

对于边框的颜色与所有其他告知,但它应该是在表单提交。

<form ... onSubmit="ValidateUser(this)"> 
... Your form elements ... 
</form> 

而且你的JS是这样的

function ValidateUser(frmObj){ 

    if (frmObj._userName.value.trim() == "") { 
      errMsg += "\nUserName is a mandatory field."; 
      $('#ID for _userName').css('border-color', color); 
     } 
     else { 
      $('#ID for _userName').css('border-color', ''); 
     } 
} 

我还会建议创建一个类相同的相同的逻辑像威拉解释和使用的。