我的第一个ASP项目遇到了一些问题。 我提供用户和输入掩码来输入数据。在某些点我想控制输入是否为数字。如果不是,我想更改文本框的边框颜色。 这是我的文本框:
(user_id, due_date)
框的样式如下:
<asp:TextBox ID="tbOnlyNumeric" runat="server" Height="30px" CssClass="MyNumericBox" autocomplete="off"></asp:TextBox>
我的想法是在try-catch-statment中投射文本框的文本:
.MyNumericBox
{
width:250px;
overflow: auto;
font-size: 20px;
position:relative;
right:111px;
border-color: #dcdcdc;
padding: 4px;
margin:15px;
border-width: 2px;
border-radius: 10px;
border-style: solid;
transition: box-shadow 0.3s, border 0.3s;
text-align: right;
padding-right: 18px;
outline: none;
}
因此,如果我的文本框出现问题,它应该是这样的:
但它看起来像那样:
我已经注意到,如果在Chrome中观看它,旧的css类将被删除,但新的css类不会被添加。
知道为什么吗?
提前致谢
答案 0 :(得分:1)
ScriptManager.RegisterClientStartUpScript(this,this.GetType(),"pop","changeCssStyle();",true);
//在aspx文件的head部分创建一个将更改的脚本 //文本框的css样式
<script type="text/javascript">
function changeCssStyle(){
//if you are using a master page refer the id of textbox to the id of
//head content in master page e.g. MainContent_tbOnlyNumeric
//lets assume you already have reference to jquery in your head section
$('#MainContent_tbOnlyNumeric').css("border-color","red");
}
</script>
答案 1 :(得分:1)
最后想出了使用:
tbSalesExpected.CssClass = "MyExpectedBoxWrong";
而不是:
tbOnlyNumeric.CssClass = tbSalesExpected.CssClass.Replace("MyExpectedBox", "MyExpectedBoxWrong");
解决了这个问题。
感谢您的回答和评论!