2013-10-30 47 views
0

我正在使用Jquery多文件上傳控件來上傳多個文件。這是非常好的插件,所有操作都正常工作。如何從父級單擊事件觸發iframe發佈

我想加載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> 

SO 3 M Ÿ問題是點擊父窗口postCompleteButton按鈕,它應該火的事件後(啓動按鈕)在子窗口是在iframe中

回答

0

如果您正在使用jQuery後,您可以訪問使用

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

考慮到這一點,單擊在iframe開始上傳按鈕,使用

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

請記住,這隻會工作,如果家長和iframe源是在同一個域中瀏覽器將堅持same origin policy

+1

嗨jaq316,這工作正常,完美,非常感謝。 – Denuka

1

如果兩個頁面都在同一個原點,則可以參考this,否則使用easyXDM(http://easyxdm.net/wp/)這樣的庫。它將允許您在iframe和容器窗口之間交換消息或設置遠程過程調用。從文檔檢查此頁 - remote procedure calls

+0

Thax dobrinov您的回覆,我試圖做到這一點,因爲它是在同一起源我使用第一種方法,但不幸的是它不適合我。沒有任何JQuery的解決方案,而不是使用JavaScript。 – Denuka