我甚至不知道这是否可行,但这是一个例子:
<div id="register">
//bunch of markup including inputs
</div>
通过AJAX我替换了寄存器div,但是如果聚焦在寄存器div内的文本框上,则在替换发生时它会失去焦点。有没有办法保持专注?
这是javascript:
$("#cart_contents input").change(function()
{
$(this.form).ajaxSubmit({target: "#register_container", success: function()
{
}
});
});
我在这个表单中有很多输入,我怎样才能弄清楚如何重新聚焦
答案 0 :(得分:4)
如果您获得了文本框的ID
句柄,例如textbox
,当AJAX完成时,请致电:
$('#textbox').focus();
更通用的解决方案。鉴于可聚焦元素具有ID
s,请像你这样使用AJAX:
var focusedId = $(document.activeElement).attr('id');
// .. AJAX, replacement ..
$('#' + focusedId).focus();
答案 1 :(得分:1)
如果替换寄存器div中的标记,则会删除早期字段中的焦点,使用
$("#"+someid).focus();
如果您使用的是jquery,请专注于带有id的文本字段。