将数据从iframe回送到父页面

时间:2014-06-13 13:36:12

标签: javascript php jquery iframe

我有一个隐藏的iframe,用于处理表单的提交。它是这样的:

<iframe name="foo" style="display:none;"></iframe>

所以,我想知道,如果有可能在事情发生之后需要在iframe中,我可以使用javascript或其他东西在父页面上打印数据吗?感谢

编辑:这是我的表格代码。

<form id="bar" name="bar" method="post" target="foo" action="include/database.php">
    <input type="text" name="betamount">
    <input type='text' name="multipler">
    <input type="checkbox" name="hilo" value="High" checked>
  <input type="submit" name="submit" value="Bet">
</form>
<iframe name="foo" style="display:none;"></iframe>

Database.php在iframe中处理这些POST请求。现在,在database.php中有一件事就像这样

$betamount = $_POST['betamount'];
$multiplier = $_POST['multiplier'];
$payout = (int)$betamount*(int)$multiplier;

我想要做的是,我想使用AJAX或其他东西来回应“支出”#39; index.php

中存在的div内的变量

1 个答案:

答案 0 :(得分:0)

出于我的回答的目的,我假设您在服务器端执行的操作不能被简单的客户端操作(使用javascript)替换。

如果您希望获得回报,为什么不直接使用AJAX,而不使用iframe?只需将数据发布到您的php页面,然后异步返回。

JsFiddle:http://jsfiddle.net/ericwu91/28U8n/

HTML代码:

<input type="text" id="amount" name="betamount">
<input type='text' id="multiplier" name="multipler">
<input type="checkbox" name="hilo" value="High" checked>
<button onclick="submit();return false;">Submit</button>

JS代码:

var yourData = {multiplier:$("#multiplier").val(),betamount:$("#amount").val()};

$.post("yourUrl.php",yourData,function(result){
    //Success: Use the "result" parameter to retrieve the data returned from server
    alert(result);
});

我正在使用jQuery的ajax post方法。这里的文档:http://api.jquery.com/jquery.post/

这样做的好处是它完全符合您的要求,但通过使用几乎原生的javascript属性(异步响应)来简化它。

编辑:我忘记了真正的jsfiddle链接......在我粘贴了所有HTML和JS代码之后,我意识到小提琴是多么无用,因为它根本不会返回任何用途... xD < / p>