在公司改别人的代码,什么东西写的啊,可真难改。如person.jsp文件中有一个iframe,在这个iframe里取父画面的js变量
//以下是person.jsp文件<script>
$(function () {
    var FILE_ID_PREFIX = 'file-id-';
    var $dirtable = $('#dirtb');
    var isBackable = false;    function test() {
        //方法内容略
    }
    //其它代码略
})
</script>
<iframe src="subperson.jsp">
////////////////////////////////////////////
//以下是subperson.jsp文件<script>
function getBackable() {
    //这里要取父画面中isBackable的值。
    //应该怎么写啊?
}

//其它代码略
</script> 

解决方案 »

  1.   

    你在person.jsp里加个隐藏域
    <input type="hidden" id="isBackable">
    然后你给它赋值
    $('#isBackable ').value = isBackable;function getBackable() {
        //这里要取父画面中isBackable的值。
        $('#isBackable').value;
        //应该怎么写啊?

      

  2.   

    function getBackable() {
        //这里要取父画面中isBackable的值。
        $("这里写父窗口iframID").parent("#isBackable") 
      

  3.   


    <script src="http://ajax.Microsoft.com/ajax/jQuery/jquery-1.3.2.min.js" type="text/javascript"> </script>
    <script>
    var isBackable1;
    $(function(){
        var FILE_ID_PREFIX = 'file-id-'; 
        var $dirtable = $('#dirtb'); 
        var isBackable = false;
        isBackable1 = isBackable;
    }) 
    </script>
    <iframe src="subperson.jsp"></iframe>
    subperson.jsp<script>function getBackable(){ 
      alert(parent.isBackable1)
    } window.onload=getBackable
    </script>
      

  4.   

    如果定义在jquery ready函数内部的话,把它暴露出来
    $(function(){
      function myfun(){}
      window.fun = myfun;
    })iframe中  parent.fun() 就可调用了。
      

  5.   

    <script>function getBackable(){ 
      alert(parent.isBackable1)
      parent.test();//引用方法
    } window.onload=getBackable
    </script>
      

  6.   


    谢谢你的回复,代码在firefox下没有问题,但在IE下无法运行,原因是:
    我使用jquery.ajax请求数据,然后在回调的success方法中调用parent.fun()就不行了,提示"对象不支持此属性或方法"部分代码如下:
    $.ajax({url:'getPerson.do',
        cache:false,
        success:function(data) {
            parent.fun(); //好象IE不认识parent
        }
    });
      

  7.   


    后来这么解决的。
    部分代码如下: 
    var ret = false;
    $.ajax({url:'getPerson.do', 
        cache:false, 
        async:false,
        success:function(data) { 
             ret = true;
        } 
    }); 
    if (ret) {
        parent.fun();
    }