如何使用javascript将值从父级传递到iframe

时间:2017-04-11 11:02:48

标签: javascript iframe

您好我想通过将父链接页面值调用到其iframe链接页面来传递该值 示例代码是

<html>
    <head>
        <title>
        </title>
        <script>
            function sendvalue(v){
                alert(v);
            }
        </script>
    </head>
    <body>
        <form id="f">
            <input type="button" value="123" onclick="sendvalue(this.value)">
        </form>
        <iframe id="frame1" src="a.html" width="500px;"></iframe>
    </body>
</html>

a.html

<html>
    <head>
        <title>
        </title>
        <script>

        </script>
    </head>
    <body>
        <h3> Frame</h3>
        <form id="myform">
            Req value <input type="text" name="a" id="a">
        </form>
    </body>
</html>

当我调用sendvalue函数时,该值应传递给输入字段的iframe链接页面。 如何实现这一目标。

3 个答案:

答案 0 :(得分:0)

protected void Application_BeginRequest()
    {
        Response.AddHeader("X-Frame-Options", "DENY");
    }

a.html

<html>
<head>
<title>
</title>
<script>
function sendvalue(v){
document.getElementById('va').value = v;
window.frames['framename'].document.getElementById("a").value = v


}
</script>
</head>
<body>
<form id="f">
 <input type="button" value="123" onclick="sendvalue(this.value)">
 <input type="text" name="va" id="va">
</form>
<iframe  name="framename" src="a.html" width="500px;"></iframe>
</body>
</html>

答案 1 :(得分:0)

最好的方式吧 添加到你的iframe

<iframe id="frame1" src="a.html?data=SomeData" width="500px;"></iframe>

并且在iframe内部,您可以通过制作变量来获取信息

var MYDATA = location.href.split('=')[1].split('&');

(你会看到 MYDATA = SomeData

答案 2 :(得分:0)

您可以使用postMessage在2 iframe之间进行通信。

在父框架上,您需要使用iframeEl.contentWindow.postMessage(value as a string, can be json.stringified value)

抓取iframe的窗口

在子框架上,您需要添加message类型的事件,类似于:

window.addEventListener('message', funcrion(dataPassed) {
   //Your logic here.
})

了解更多信息read that