0

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

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

如果用户在填写文本框的过程中并按下回车键,则表单会保存,但随后会将焦点重新设置在页面顶部。如何让它将焦点重新设置在最后一个正在编辑的文本框上?

4

1 回答 1

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>
于 2013-10-23T21:10:31.360 回答