现在我在一个页面中用了iframe来套一个子页面,在父页面中我想获取子页面的返回值,我申明了一个变量
var returnValue;
alert(returnValue);
为了测试,我在子页面加载完成以后给父页面的returnValue赋值,
parent.returnValue="值";
结果每次页面一加载时都提示undefine,不知道为什么会没有成功,请高手指教一下

解决方案 »

  1.   

    在iframe页面onload的时候调用这个方法即可
    window.parent.returnValue = "值";
    returnValue多用在模态窗口,iframe不知道有没有。可以考虑用隐藏表单域设置值
      

  2.   

    楼上理解错了,那我就不把那个变量申明为returnValue了,我申明为aaa吧,
      

  3.   

    父页面写一个函数
    function father(myValue){
        alert(myValue)
    }子页面调用这个函数
    var P=window.parent;
    P.father("TEST");
      

  4.   

    对,父页面写一个函数
    function ShowSubInfo(szValue)
    {
        alert("iframe子页面返回值为:"+ szValue);
    }iframe中子页面这样:
    var aaa = "123456";  
    window.onload = function()

        parent.ShowSubInfo("123");
        parent.ShowSubInfo(aaa);
    }
      

  5.   

    将值设置到隐藏表单域中,然后用window.frames["frameName"].document.getElementById("hidden_input").value;
      

  6.   

    页面内嵌套的iframe会首先加载,undefine可能的原因是子页面加载完毕时父页面js还未定义returnValue。可以尝试在父页面加载完毕后调用子页面赋值。