Sharepoint 2010 对话框中的OOB新窗体在几秒钟后失去焦点

Sharepoint 2010 对话框中的OOB新窗体在几秒钟后失去焦点,sharepoint-2010,dialog,sharepoint-designer,Sharepoint 2010,Dialog,Sharepoint Designer,在SharePoint 2010中,使用SharePoint Designer 2010,我有一个DispForm,其中添加了一个DVWP,该DVWP显示另一个相对列表的筛选视图。DVWP有一个“新建”链接,该链接使用OpenPoupPage()在模式对话框中打开该列表的新表单 5-12秒后,闪烁的光标从第一个控件消失,焦点切换到“关闭”按钮。如果用户试图键入,并且在焦点切换到“关闭”按钮时碰巧按下了Enter键,则背景不再变暗,“取消”按钮不再工作。表单仍然显示在屏幕上,用户可以“保存”,但在

在SharePoint 2010中,使用SharePoint Designer 2010,我有一个DispForm,其中添加了一个DVWP,该DVWP显示另一个相对列表的筛选视图。DVWP有一个“新建”链接,该链接使用OpenPoupPage()在模式对话框中打开该列表的新表单

5-12秒后,闪烁的光标从第一个控件消失,焦点切换到“关闭”按钮。如果用户试图键入,并且在焦点切换到“关闭”按钮时碰巧按下了Enter键,则背景不再变暗,“取消”按钮不再工作。表单仍然显示在屏幕上,用户可以“保存”,但在刷新页面之前,模式不会消失

如果用户注意到模式已失去焦点,并单击表单上的返回,则一切正常,一切正常

观察结果:

当控件/模式失去焦点时,“关闭”按钮不会触发“聚焦”事件。但是,控制台中显示的$(document.activeElement).attr(“value”)表明它是活动元素

问题:

  • 为什么模态会失去焦点
  • 是否有人有Javascript/jQuery解决方案来捕获事件并将焦点设置回原来的位置
  • 或者,如果我锁定表单并等待焦点更改完成,然后将其解锁并将焦点设置在第一个字段上,该怎么办?想法

  • 如果DispForm也是一个对话框,并且您使用脚本打开了模态,那么您可能会遇到问题。听起来你好像得到了“分层”效果。我的猜测是,管理对话框的脚本干扰了模态。你试过关闭列表的拨号吗?

    只是为了让我在这个网站上了解一些要点,问题是第一个模式的异步刷新。它将焦点从分层模式移开


    谢谢你的回答

    我发现了问题:DVWP使用了自动刷新和异步更新。这是每15秒运行一次,将焦点从模式上移开,然后不将焦点返回到最后一个控件


    因此,我们关闭了自动刷新,并使用来自模式关闭的回调来触发单击手动刷新按钮。

    我们遇到了这个问题,但通过回调修复了这个问题。发现了问题,但是。。。我将更新上面的问题。谢谢你,Matt,添加回调以单击手动刷新!:)Jim Bob-添加一个你自己的答案并接受它,以便未来的人们可以轻松找到答案。