我有一个ASP.NET 4.5页面,它有一个动态创建的文本框列表
我已将asp.panel的默认按钮设置为“保存”按钮。
如果用户在填写文本框并按下回车键的一半时,表单将保存,但随后将焦点设置在页面顶部。如何将焦点设置回正在编辑的最后一个文本框?
答案 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>