好的,这是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传递到主窗口的其他选项。
谢谢,
答案 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>";
?>
玩得开心..