zoukankan      html  css  js  c++  java
  • IE中控制焦点(asp.net)

    使用母版页,Ajax UpdatePanel包含的下拉框,点击下拉框PostBack之后focus不奏效,第二次点击下拉框PostBack之后focus奏效????

    JS

    function resetFocus(id){
              var obj=document.getElementById(id);
              if(obj) obj.focus();
          }

    C#

    ScriptManager.RegisterStartupScript(this, this.GetType(), "resetFocusJS", "resetFocus(\"" + ddlRegion.ClientID + "\");", true);

    ------------------------------

    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="TESTPAGE.master.cs" Inherits="TESTPAGE" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
            <script language="javascript" type="text/javascript">
       function resetFocus(id){
            var obj=document.getElementById(id);
            if(obj) obj.focus();
              //document.getElementById(id).select();
          }    
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
          <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
        <div>
            <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
            </asp:contentplaceholder>
        </div>
        </form>
    </body>
    </html>

    ------------------------------

    <%@ Page Language="C#" MasterPageFile="~/TESTPAGE.master" AutoEventWireup="true" CodeFile="test2.aspx.cs" Inherits="test2" Title="Untitled Page" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
       Region:
                    <asp:DropDownList runat="server" ID="ddlRegion" DataValueField="Region_Id" DataTextField="Name"
                        AutoPostBack="true" OnSelectedIndexChanged="ddlRegion_SelectedIndexChanged">
                        <asp:ListItem>1</asp:ListItem>
                        <asp:ListItem>2</asp:ListItem>
                    </asp:DropDownList>
            </ContentTemplate>
        </asp:UpdatePanel>
    </asp:Content>

    ------------------------------

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    public partial class test2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void ddlRegion_SelectedIndexChanged(object sender, EventArgs e)
        {
            ScriptManager.RegisterStartupScript(this, this.GetType(), "ResetFilter", "resetFocus(\"" + ddlRegion.ClientID + "\"); ", true);

        }
    }

    ------------------------------

    Solution:

    ScriptManager.RegisterStartupScript(UpdatePanel1, typeof(UpdatePanel), "fuck", "setTimeout(\"document.all('ctl00$ContentPlaceHolder1$ctl01$Jbyj').focus();\",100);", true);

    注:Firefox不需要额外控制焦点,自动保留焦点在最后操作的控件上。

    http://blog.sina.com.cn/s/blog_4473b2d10100arg5.html

    http://www.cnblogs.com/njnudt/archive/2008/11/18/1335948.html

  • 相关阅读:
    javascript学习笔记-数据类型
    chrome console.log API
    Mysql下SELECT的结果集作为UPDATE的WHERE条件时的SQL语法
    Ajax、Comet、Websocket、SSE
    Model View Controller(MVC) in PHP
    区别Transform、Transition、Animation
    WAI-ARIA无障碍网页应用属性完全展示
    理解 PHP output buffer
    清除Jquery动画的队列
    git常用命令
  • 原文地址:https://www.cnblogs.com/emanlee/p/1637724.html
Copyright © 2011-2022 走看看