C#ASP.NET在输入键触发器保存按钮后设置焦点在TextBox上

时间:2013-10-23 20:55:53

标签: c# asp.net textbox focus

我有一个ASP.NET 4.5页面,它有一个动态创建的文本框列表

我已将asp.panel的默认按钮设置为“保存”按钮。

如果用户在填写文本框并按下回车键的一半时,表单将保存,但随后将焦点设置在页面顶部。如何将焦点设置回正在编辑的最后一个文本框?

1 个答案:

答案 0 :(得分:1)

您可以通过javascript / jquery将onfocus处理程序添加到所有表单元素,这会将当前焦点控件的id保存到隐藏字段,并在文档加载时使用javascript读取该id值,这样您就可以将焦点设置在正确的控件上。

示例:

<asp:HiddenField runat="server" ID="hfFocusedControl" />
<script>

$(document).ready(function(){
        var id = $('#hfFocusedControl').val()
        ;
        $('#'+id).focus();
        $('input').focus(saveIdOnFocus);


});
var saveIdOnFocus = function(e){
    var control = $(this)
        , id = control.attr('id')
    ;

    $('#hfFocusedControl').val(id);
}
</script>