如何使用javascript或JQuery从隐形iframe中获取隐藏字段值

时间:2014-02-16 23:25:45

标签: javascript php jquery iframe jquery-selectors

好的,这是01:16 AM,我无法解决这个简单的问题。  我使用隐形iframe上传照片并将一些文本发送到数据库中。 iframe指向upload.php并使用insert_id(DB中最后一行的id)返回隐藏的文本字段 - 我需要此信息用于其他功能。

以下是我的iframe:

 <iframe name="image_upload_frame" id="image_upload_frame" height="1" width="1" style="visibility: hidden">

开头是空的,但在图片上传后,它有这个html:

 echo '<img src="'.$sImage.'" />';
     echo '<input type="hidden" id="session_id" value="'.$wpdb->insert_id.'" />';

这是我的javascript获取会话)id值:

var row_id = $("#image_upload_frame").contents().find("#session_id");
  alert(row_id.val());

它不起作用。调试器没有说什么 - 它只是停止,没有错误,没有通知。

任何人都可以提供帮助?我想听听有关如何将数据从iframe传递到主窗口的其他选项。

谢谢,

1 个答案:

答案 0 :(得分:0)

如果我没有错,你的HTML就是这样:

<html>
<body>
    <iframe id="hidden_iframe" name="hidden_iframe" style="display: none"></iframe>
    <form method="post" target="hidden_iframe" action="./test1.php" encrypt="multipart/form-data">
        <input type="file" name="file_upload" />
        <input type="submit" value="submit" />
    </form>
</body>

我的想法是在你的服务器端,你写了一个javascript代码来调用你的客户端的javascript(actural是iframe调用主窗口)。所以你的客户端代码应该是这样的:

<html>
<body>
    <iframe id="hidden_iframe" name="hidden_iframe" style="display: none"></iframe>
    <form method="post" target="hidden_iframe" action="./test1.php" encrypt="multipart/form-data">
        <input type="file" name="file_upload" />
        <input type="submit" value="submit" />
    </form>
    <script>
    function callFromServerSide(params){
        alert(params);
    }        
    </script>
</body>

你的服务器端应该这样(在我的例子中是test1.php):

<?php
$last_insert_id=100;
echo "
<script>
window.top.callFromServerSide('".$last_insert_id."');                    
</script>";
?>

玩得开心..