繁体   English   中英

如何从父点击事件触发iframe发布

[英]How to trigger iframe post from parent click event

我正在使用Jquery多个文件上传控件来上传多个文件。 这是非常好的插件,所有操作都正常。

我想在iframe中加载该插件,并且应该从父窗口触发全局启动回发方法

以下是我的示例代码

LibraryDocs.aspx(父接口)

> <iframe style="width: 90%; height: 300px" id="multipleFileUploadFrame"
> src="../Secure/MultipleFileUpload.htm" runat="server" />

> <asp:Button ID="postCompleteButton" runat="server" Text="Post Complete" />

这是我的MultipleFileUpload.htm

<div id="fileupload">
        <form id="multipleUpload" action="../Secure/MultipleUploadHandler.ashx" method="POST"
        enctype="multipart/form-data">
        <div class="fileupload-buttonbar">
            <label class="fileinput-button">
                <span>Add files...</span>
                <input id="file" type="file" name="files[]" multiple />
            </label>
            <button id="startUpload" type="submit" class="start">
                Start upload</button>
            <button type="reset" class="cancel">
                Cancel upload</button>
            <!--<button type="button" class="delete">Delete files</button>-->

        </div>
        </form>
        <div class="fileupload-content">
            <table class="files">
            </table>
            <div class="fileupload-progressbar">
            </div>
        </div>
    </div>

所以我的问题是在父窗口中单击postCompleteButton按钮后,它应该在iframe的子窗口中触发发布事件(开始按钮)

如果两个页面的来源相同,则可以使用this ,否则请使用easyXDM之类的库( http://easyxdm.net/wp/ )。 它将允许您在iframe和容器窗口之间交换消息或设置远程过程调用。 从文档中检查此页面- 远程过程调用

如果您使用的是jQuery,则可以使用来访问iframe DOM

$('#<%= multipleFileUploadFrame.ClientID %>').contents()

考虑到这一点,要在iframe中单击“开始上传”按钮,请使用

$('#<%= multipleFileUploadFrame.ClientID %>').contents().find('#startUpload').click();

请记住,这仅在父源和iframe源位于同一域时才有效,因为浏览器将遵循相同的源策略

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM