6

我在更新面板中有一个文本框。当用户输入内容时,我从数据库中获取相关数据并将其填充到另一个文本框中。我的问题是,在任何文本框上的自动回发焦点都丢失了。我如何使用 javascript 或代码来管理它,因为我使用的代码和我使用的代码一样

 System.Web.UI.ScriptManager.GetCurrent(this).SetFocus(this.txtReference);

和 javascript 我又找到了一个

    <script type="text/javascript">
    var postbackElement;
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequest);
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);


    function beginRequest(sender, args) {
        postbackElement = args.get_postBackElement();
    }


    function pageLoaded(sender, args) {
        var updatedPanels = args.get_panelsUpdated();
        if (typeof (postbackElement) === "undefined") {
            alert('if Loop');
            return;
        }
        else if (postbackElement.id.toLowerCase().indexOf('button1') > -1) {
        alert('else');
            for (i = 0; i < updatedPanels.length; i++) {

                document.getElementById('<%= txtAcctNo.ClientID %>').focus();
            }
        }


    }
</script>

但不工作,因为'button1 undefined'。我放在那里是因为所有事件都在 aspx 页面中的 OnTextChanged="" 上执行。

所以请通过代码或javascript帮助我,我该怎么做。

4

1 回答 1

11

我建议你试试SetFocus method server side

Page.SetFocus(IdOfControl);
于 2012-10-15T12:06:56.850 回答