通过Javascript关闭iFrame

She*_* R. 5 html javascript iframe

我正在使用模式叠加层的应用程序,当按下相应的按钮时,它会出现在iFrames中.要关闭其中一个模态叠加层,可以通过以下方式在父窗口中定义"取消"按钮:

 <a href="#close" class="modalButton">Cancel</a>
Run Code Online (Sandbox Code Playgroud)

我想用JavaScript函数替换它(让我们把它称为onCancel()),这样我可以在需要时重置一些值,除了关闭叠加层.什么是相当于"#close"的JavaScript?

She*_* R. 0

对我有用的方法是在父页面中定义以下 JavaScript 函数:

function onCancel()
{
    var myIFrame = document.getElementById("myIFrame");
    var myForm = myIFrame.contentDocument.myForm;
    var stuffWasChanged = myIFrame.contentDocument.stuffWasChanged;
    if (stuffWasChanged == "true")
       myForm.action = "reset.do";

    myForm.submit();
    location.href = '#';
  }
Run Code Online (Sandbox Code Playgroud)

请注意,如果 stuffWasChanged 标志未设置为 true,则不会为相关表单定义任何操作,因此模式覆盖会消失,而不会调用任何 servlet 方法。