Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java脚本仅第一次在JSP页面上工作_Java_Javascript_Jsp - Fatal编程技术网

Java脚本仅第一次在JSP页面上工作

Java脚本仅第一次在JSP页面上工作,java,javascript,jsp,Java,Javascript,Jsp,当弹出窗口打开时,我在JSP页面中使用以下代码禁用父窗口 window.opener.document.body.disabled=true; document.onmousedown = focusPopup; document.onkeyup = focusPopup; document.onmousemove = focusPopup; function focusPopup() { window.focus(); } 但这只是第一次起作用

当弹出窗口打开时,我在JSP页面中使用以下代码禁用父窗口

window.opener.document.body.disabled=true;
    document.onmousedown = focusPopup; 
    document.onkeyup = focusPopup; 
    document.onmousemove = focusPopup; 
function focusPopup() {
    window.focus(); 
  } 
但这只是第一次起作用

当页面刷新或请求重新提交时,父窗口的所有控件、链接选项卡都将启用,并且可以使用/单击

虽然它使父窗口显示为禁用,但实际上并没有使其禁用


我做错了什么?

刷新页面时,会再次获取整个HTML。通过javascript所做的任何更改都将丢失。您必须添加额外的逻辑来处理此类情况。在这种情况下,可以使用两种涉及“隐藏表单参数”和“Cookie”的方法

JavaScript中需要的更改包括:

  • 打开弹出窗口时,设置隐藏表单字段或cookie值
  • 在父页面“onload”时添加附加逻辑,以检查是否设置了该值,如果是,则禁用控件

  • 就我个人而言,我更喜欢基于表单的方法,因为基于cookie的方法可能会很棘手(当弹出窗口关闭时,您需要清除cookie值,否则表单在下次打开时可能会显示为禁用!)。

    您所说的“页面刷新或请求重新提交”是什么意思?你是说父页面被刷新了吗?嗯,如果页面被刷新,它就是一个全新的页面。旧状态(已禁用)不再计算。是的,当我第一次在JSP页面上单击此搜索按钮时,会出现一个弹出窗口,上面的代码会执行,一切正常,但当我关闭弹出窗口并刷新父页面,然后单击搜索按钮时,弹出窗口出现,父窗口显示为禁用,但所有链接和控件这次都在父页面上工作。