aspx动态改变来自不同TextBoxes的焦点

时间:2011-10-07 11:15:27

标签: c# javascript .net asp.net

我正在尝试将焦点从一个文本框更改为另一个文本框 在文本框上达到13我使用下面的代码,没有任何事情发生:

if (!this.ClientScript.IsClientScriptBlockRegistered("qtyFocus"))
            {
                this.ClientScript.RegisterClientScriptBlock(this.GetType(), "qtyFocus",
                    @"<script type='text/javascript' language='javascript'>function qtyFocus(){
                        var trckNumberLength = document.getElementById('txtTrackingNumber').value.length;
                        if(trckNumberLength == 13){
                            document.getElementById('txtQuantity').focus();
                        }}</script>");
            }

            txtTrackingNumber.Attributes.Add("onchange", "javascript:return qtyFocus();");

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

可能是因为脚本中正在执行的行

var trckNumberLength = document.getElementById('txtTrackingNumber').value.length;

需要更改:

var trckNumberLength = document.getElementById('"+txtTrackingNumber.ClientID+"').value.length;

原因是txtTrackingNumber很可能在页面上呈现时具有不同的Id,因此您需要使用控件的ClientID属性而不是您在标记上定义的ID。