有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javascript在使用strutst html标记时,如何在提交按钮上调用onclick事件?

我有一个父页面,其中有一个元素。点击该元素后弹出窗口。在弹出窗口中有一个文本框和提交按钮。现在我想刷新父页面时,提交按钮弹出窗口点击。 我有刷新父页面的解决方案:

window.onload = function()
{
  window.opener.location.reload();
}

我在弹出的jsp页面中添加了这个脚本。所以,每当我点击父页面上的元素时,弹出窗口就会出现,父页面会被刷新(想跳过这个),然后我会在弹出窗口的文本框中添加一些文本并提交数据,因为提交按钮弹出窗口会再次重新加载,父页面会被刷新(这是预期的情况)。由于我在弹出页面上使用window.onload,它会被刷新两次,我想跳过第一次刷新。 所以我决定点击提交按钮进行刷新。 弹出页面JSP代码:

<td align="center">
 <html:submit styleId="btn_add" property="submitButton" onclick="formConfirmOff();" value="Add" />
</td>  

我试图跳过第一次刷新的另一个解决方案:

document.getElementById("btn_add").onclick = function(){
        window.opener.location.reload();
    }

但是使用上面的脚本会给我一个错误,无法设置属性onclick of null 所以这可能是因为脚本是在DOM加载之前执行的。所以我加入了脚本

window.onload = function(){
        document.getElementById("btn_add").onclick = function(){
            window.opener.location.reload();
        }
    }

但这是什么时候显示的带有选项的确认导航对话框离开此页面并留在此页面上的。 可能是什么问题。传递给onclick的函数顺序重要吗? 我只想在使用提交按钮在弹出子页面上添加数据时刷新父页面

编辑:

$(document).ready(function() {
        $("#frm_addSpeedData").submit(function(event) {  
        //event.preventDefault();
        $.ajax({
             type: "POST", //chose your request type method POST or GET
              url: "/webapp/addSpeedDataAction.do", // your struts action url
              data: $(this).serialize(),
              success: function() {
                window.opener.location.reload(); // callback code here
              }
            })
        })
    });

这段代码有时有效,但有时无效。 意思是当弹出窗口打开时,我在弹出窗口上提交数据。然后在成功时,父窗口被刷新。但我仍然看不到家长页面上的更新。 可能是什么问题


共 (0) 个答案