使用javascript更新父div

时间:2012-11-10 19:34:02

标签: php javascript

所以我的网站上有几个模态窗口。我通常使用jquery和ajax在模态窗口中完成某些操作并更新父页面上的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 - 处理数据库代码并发送$ result

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

有人能指出我正确的方向吗?我无法在网上找到关于如何做到这一点的任何内容,我是一个自学成才的菜鸟。 THX。

1 个答案:

答案 0 :(得分:0)

如果iframe父级具有此功能

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

你可以让modal_window_process.php脚本通过返回这样的响应来调用 onUploaderReady 函数

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