2012-11-10 24 views
0

所以我的網站上有幾個模態窗口。我通常使用jquery和ajax來完成模態窗口中的某些內容,並更新父頁面上的div。使用javascript更新父級div

我在這裏的問題是我上傳文件,所以我被迫使用iframe,我從來沒有做過,我使用JavaScript,而不是我從來沒有做過的jquery,所以我有點迷路,尋找一些方向。

我想從我的模態窗口更新父頁面上的div。在模式窗口中,我有一個表單,其目標是一個iframe,並且該動作是針對一個單獨的php頁面。總的問題是,如何在表單上傳文件之後將更新的$ attachment_table發送給父div?我想:

Modal_window.php - 上面有一個表單上傳文件。

<?php 
$attachment_table = ''; 
while (($row73 = $answer17->fetch(PDO::FETCH_ASSOC)) !== false) { 
          $attachment_table .= '<tr>'; 
          $attachment_table .= "<td><input name='checkbox[]' type='checkbox' id='checkbox[]' value='${row73[imageven_id]}'></td>"; 
          $attachment_table .= "<td><a href='../php/viewimages.php?id=${row73[image_id]}')'>${row73[upload_name]}</a></td>"; 
          $attachment_table .= "<td>${row73[image_category]}</td>"; 
          $attachment_table .= "<td>${row73[upload_date]}</td>"; 
          $attachment_table .= '</tr>'; 
         }; 

?>  

<script type="text/javascript"> 

     function stopUpload(success) { 
      var result = ''; 
      if (success == 1) { 
       window.top.document.getElementById('attachment_table').innerHTML = <?php echo $attachment_table; ?>; 
       document.getElementById('result').innerHTML = '<div class="msg-status" style="width:492px;">The file was uploaded successfully!<\/div><br/>'; 
      } else if (success == 0) { 
       document.getElementById('result').innerHTML = '<div class="msg-error" style="width:492px;">There was an error during file upload!<\/div><br/>'; 
      } else if (success == 2) { 
       document.getElementById('result').innerHTML = '<div class="msg-error" style="width:492px;">ERROR! Please upload a document with the following file types....<br/><br/>txt, doc, xls, rtf, ppt, pdf, jpg, jpeg, gif, png, xlsx, docx, png, pps, ppsx, ppt<\/div><br/>'; 
      } 
      document.getElementById('f1_upload_process').style.visibility = 'hidden'; 
      return true; 
     } 
    </script> 

modal_window_process.php - 處理數據庫的代碼,併發送響應這是$結果

<script language="javascript" type="text/javascript"> 
window.top.window.stopUpload(<?php echo $result;?>); 
</script> 

有人能指出我在正確的方向嗎?我無法在網上找到關於如何做到這一點的任何內容,而且我是一位自學的noob。謝謝。

回答

0

如果iframe的家長有此功能

<script type='text/javascript'> 
    function onUploaderReady() { 
     alert('upload ready'); 
    } 
</script> 

你可以有modal_window_process.php腳本通過返回這樣

<html> 
<head> 
    <script type='text/javascript'> 
     parent.onUploaderReady(); 
    </script> 
</head> 
</html> 
+0

響應調用onUploaderReady功能,所以我覺得我做你的建議。我在模態頁面上有stopUpload()。我從process.php頁面通過stopUpload發送$ result到模態頁面。現在,我如何處理$ attachment_table以獲得最新結果並將該html輸出發送到父頁面並刷新div? –