I have a ASP text box control. When the user focuses on text box, i want to change the background color of the text box from gray to white.
here is the css file, but its not changing the color after focusing on the text box.
<script language="javascript" type="text-javascript">
function DoFocus(txt)
{
txt.className = 'focus';
}
</script>
Textbox
<asp:TextBox ID="txtFirstName" runat="server"
CssClass="textbox" MaxLength="50" Width="188px" onfocus="DoFocus(this)">
CSS
input.textbox, select, textarea
{
font-family : verdana, arial, snas-serif;
font-size : 11px;
color : #000000;
padding : 3px;
background : #f0f0f0;
border-left : solid 1px #c1c1c1;
border-top : solid 1px #cfcfcf;
border-right : solid 1px #cfcfcf;
border-bottom : solid 1px #6f6f6f;
}
input.textbox:focus, input.input_text_focus
{
border-color:#646464;
background-color:#ffcf03;
}
Here an approach with the use separated CSS classes specified via javascript:
EDIT: I saw you updated your post, so to clarify: ASP creates an
input
HTML element (correct me if I'm wrong) and you can always style this via the:focus
selector in CSS, no need for Javascript, but also addinput.textbox:active
to catch some buggy IE...Judging from your pasted code, instead of
use
Or why do you suddenly use the class
input_text
when you haveinput.textbox
in the firsthand? Your two selectors don't match...You cannot do it by just using css. you have to use javascript as well. For example:
the javascript section:
and the css:
You can find some good examples at:
http://www.codeproject.com/KB/aspnet/inputBgOnFocus.aspx
http://viralpatel.net/blogs/2009/09/change-form-input-textbox-style-focus-jquery.html
http://forums.asp.net/t/1134964.aspx/1