触发包含iframe中的按钮

Jim*_*Jim 0 html javascript iframe

我有一个HTML + javascript页面,它在iframe中嵌入了一个页面.我希望能够在封闭页面中使用javascript触发嵌入页面中的提交按钮(导致POST).有没有图书馆这样做?

Dan*_*ant 7

如果IFRAME主机是同一域中的页面,则可以说

// To trigger from the enclosing page
var yourFrame = document.getElementById("iframeId");
if(yourFrame.contentDocument) {    
   yourFrame.contentDocument.getElementById("formId").submit(); // FF, etc
} else {
   yourFrame.contentWindow.document.getElementById("formId").submit(); // IE
}

// To trigger from the enclosed page
document.getElementById("formId").submit();
Run Code Online (Sandbox Code Playgroud)

... iframeIdiframe的ID 在哪里,是iframe中formId表单的ID,类似于

在文件里面:

<iframe id="iframeId" src="/somePage.html" ... >
Run Code Online (Sandbox Code Playgroud)

在文档里面" somePage.html":

<form id="formId" method="post" action="...">
Run Code Online (Sandbox Code Playgroud)

请注意,如果要IFRAME在另一个域中托管页面,那么如果您尝试从封闭页面提交,则可能会出现某种"拒绝访问"错误.这是浏览器为防止恶意脚本而采取的安全预防措施(例如,防止诸如代表用户自动提交表单之类的事情)