焦点方法不在我的gridview上工作但不对文本框着色

时间:2015-03-26 14:40:55

标签: jquery asp.net gridview textbox focus

我有一个gridview,其中我的Headerrow已启用,在我的标题下,我有文本框,用户输入值并单击插入以插入数据库。

用户通缉: 1)焦点方法位于gridview的第一个文本框中 2)根据焦点方法将文本框的颜色更改为浅灰色

**成功创建了一个允许我更改文本框颜色的jquery **

<head runat="server">
    <title></title>
    <link href="carmel.css" rel="stylesheet" type="text/css" />
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<script type="text/javascript">
    $(document).ready(function() {
        $('INPUT[type="text"]').focus(function() {
            $(this).addClass("focus");
        });
        $('INPUT[type="text"]').blur(function() {
            $(this).removeClass("focus");
        });
    });
</script>
<style type="text/css">
.focus {
border: 2px solid black;
background-color: #D6D6D6;
}
</style>

</head> 

并将焦点设置为gridview中的第一个文本框我正在执行此操作

 protected void Page_Load(object sender, EventArgs e)
        {
            TextBox txtproductline = (TextBox)GridView1.HeaderRow.FindControl("TextBox6");
            txtproductline.Focus();

        }

焦点有效,但它没有将文本框着色为浅灰色,当我选项卡时,下一个文本框变为灰色,我在这里做错了吗?

我也尝试了

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.Header)
            {

              e.Row.FindControl("TextBox6").Focus();


            }  

上面的代码也将焦点设置在我想要的位置,但是jquery不能正常工作

当用户首次加载页面时 enter image description here

当用户点击键盘上的标签时 enter image description here

当我从Visual Studio运行应用程序时它完美无缺,但是当它在Web服务器上托管时,它的表现很有趣 非常感谢任何建议/解决方案,您可以享受一天的美好时光,快乐编码

1 个答案:

答案 0 :(得分:1)

您的Jquery代码定义当控件在页面已加载(绘图)并且文本框已经具有焦点后获得或失去焦点时会发生什么。  您可以添加Page_Load或在第一行设置焦点的位置,例如txtproductline.CssClass =“focus”