关闭jquery模式对话框后关注文本框

时间:2012-10-24 06:54:58

标签: jquery-ui focus modal-dialog

我遇到了jquery模式对话框的问题。我专注于文本框(clasic javascript),重新加载页面时工作正常。但我试图找出如何在模态对话框关闭后设置焦点。是否有人能够给我一个答案?

HTML

<div>
<form action='core/php/_scr_commission_equipment_direct_add.php?token=$token' method='post' name='equipmentIDN_form'>
IDN <input type='text' class='idn_reader_text_color' name='equipmentIDN_direct' autocomplete='off' />
</form>
</div>
<script type='text/javascript'>
document.equipmentIDN_form.equipmentIDN_direct.focus()
</script>

jquery的

$('#dialog-graph2').dialog({
autoOpen: true,
width: 1000,
modal:false,
position:['middle',50],
resizable:false,
});

$('#dialog_graph2').click(function(){
$('#dialog-graph2').dialog('close');
return false;
})

2 个答案:

答案 0 :(得分:2)

尝试为对话的close事件添加一个函数,即:

$('#dialog-graph2').dialog({
    autoOpen: true,
    width: 1000,
    modal:false,
    position:['middle',50],
    resizable:false,
    close: function(){
        document.equipmentIDN_form.equipmentIDN_direct.focus();
    }
});

$('#dialog-graph2').dialog({ autoOpen: true, width: 1000, modal:false, position:['middle',50], resizable:false, close: function(){ document.equipmentIDN_form.equipmentIDN_direct.focus(); } });

这必须做的工作,但为了优雅,我可能会使用JQuery样式的“纯”JavaScript,如下所示:

$('#equipementIDN_direct').focus();

但之前,请将id属性(equipementIDN_direct)添加到输入文本框中。

希望这会有所帮助。

答案 1 :(得分:0)

请注意,当你打开模态对话框时,最后一个聚焦元素被保存并保存并在对话框关闭时返回(JQ UI 1.11)参见示例:http://jsfiddle.net/przemcio/9sxrvm95/我看到你有autoOpen: true然后当加载页面时将打开对话框,在这种特定情况下,Pispirulito的命题是有效的。