窗口的各种传值在线演示示例(示例都使用的page参数,内容页中的代码最好打开相应的内容页查看)

来源:互联网 发布:免费的高分辨率数据 编辑:程序博客网 时间:2024/06/04 18:42

基本的传值示例

  1. 将调用页面的值传到窗口中

    // 这是运行1按钮使用的方法J('#btn1').dialog({ id:'test1', page:'content.html' });// content.html里的代码为:(这里注意content.html也加载了lhgcore.min.js文件)var DG = frameElement.lhgDG;J(function(){    J('#val').html( J('#txt1',DG.curDoc).val() ); });// 这是运行2按钮使用的方法function opdg1(){    var DG = new J('#btn2').dialog({        id:'test2',        page:'content1.html',        dgOnLoad: function(){            J('#val',DG.dgDoc).html( J('#txt1').val() );        }    });    DG.ShowDialog();}//使用第2种方法content1.html里不用写任何代码

        

  2. 将窗口中的值传回到调用页面中

    J('#btn3').dialog({ id:'test3', page:'content2.html' });// content2.html里的代码为:(这里注意content2.html也加载了lhgcore.min.js文件)var DG = frameElement.lhgDG;DG.addBtn( 'ok', '确定', ok );function ok(){    J('#txt2',DG.curDoc).val( J('#val').html() );    DG.cancel();}

      

特殊的传值示例

  1. 在调用页面调用窗口B中的值或函数

    var DG = J('#btn4').dialog({ id:'test4', page:'content3.html', title:'B窗口' });// 调用B窗口中文本框的值的按钮的代码J('#btn5').bind( 'click', function(){    if( DG.dg )        alert( J('#inp',DG.dgDoc).val() );    else        alert( '请先打开B窗口' );});// 调用B窗口的函数的按钮的代码J('#btn6').bind( 'click', function(){    if( DG.dg )        DG.dgWin.BB();    else        alert( '请先打开B窗口' );});

        

  2. 在B窗口中调用调用页面的值或函数

    J('#btn7').dialog({ id:'test7', page:'content4.html', title:'B窗口' });// 内容页content4.html的代码为:(这里注意content4.html也加载了lhgcore.min.js文件)var DG = frameElement.lhgDG;J(function(){    J('#btn1').bind( 'click', function(){        alert( J('#txt3',DG.curDoc).val() );    });    J('#btn2').bind( 'click', function(){        DG.curWin.AA();    });});

      

  3. 在调用页面调用C窗口(也就是B窗口的子窗口)的值或函数

    var DG1 = J('#btn8').dialog({ id:'test8', page:'content5.html', title:'B窗口' });// 调用C窗口中文本框的值的按钮的代码J('#btn9').bind( 'click', function(){    if( DG1.dg && DG1.dgWin.testDG )        alert( J('#inp',DG1.dgWin.testDG.dgDoc).val() );    else        alert( '请先打开C窗口' );});// 调用C窗口的函数的按钮的代码J('#btn10').bind( 'click', function(){    if( DG1.dg && DG1.dgWin.testDG )        DG1.dgWin.testDG.dgWin.CC();    else        alert( '请先打开C窗口' );});// 内容页content5.html中的代码:var DG = frameElement.lhgDG, testDG;function opchild(){    testDG = new DG.curWin.J.dialog({        id: 'child1',        page: 'content6.html'    });    testDG.ShowDialog();}

        

  4. 在C窗口中调用调用页面中的值或函数

    J('#btn11').dialog({ id:'test11', page:'content7.html', title:'B窗口' });// 内容页content7.html中的代码:var DG = frameElement.lhgDG, testDG;function opchild(){    testDG = new DG.curWin.J.dialog({        id: 'child1',        page: 'content8.html'    });    testDG.ShowDialog();}// 内容页content8.html中的代码:var DG = frameElement.lhgDG;J(function(){    J('#btn1').bind( 'click', function(){        alert( J('#txt4',DG.curDoc).val() );    });    J('#btn2').bind( 'click', function(){        DG.curWin.AA();    });});

      

  5. 在2个窗口中相互调用函数和传值(3.4.1版本新增)

    // A窗口的代码J('#btn12').dialog({ id:'test12', page:'content9.html', title:'A窗口' });// A窗口中内容页content9.html中的代码var DG = frameElement.lhgDG;J(function(){    J('#btn1').bind( 'click', function(){        // test13是B窗口的idif( DG.iDG('test13') )            alert( DG.iDoc('test13').getElementById('inpB').value );            // 也可以使用jQ方式来写            // alert( J('#inpB',DG.iDoc('test13')).val() );        else            alert( '请先打开B窗口' );    });    J('#btn2').bind( 'click', function(){        if( DG.iDG('test13') )            DG.iWin('test13').fnB();        else            alert( '请先打开B窗口' );    });    J('#btn3').bind( 'click', function(){        if( DG.iDG('test13') )            DG.iWin('test13').DG.cancel();        else            alert( '请先打开B窗口' );    });});function fnA(){    alert( '我是A窗口的函数' );}// B窗口的代码J('#btn13').dialog({ id:'test13', page:'content10.html', title:'B窗口' });// B窗口中内容页content10.html中的代码var DG = frameElement.lhgDG;J(function(){    J('#btn1').bind( 'click', function(){        // test12是A窗口的id        if( DG.iDG('test12') )            alert( DG.iDoc('test12').getElementById('inpA').value );            // 也可以使用jQ方式来写            // alert( J('#inpA',DG.iDoc('test12')).val() );        else            alert( '请先打开A窗口' );    });    J('#btn2').bind( 'click', function(){        if( DG.iDG('test12') )            DG.iWin('test12').fnA();        else            alert( '请先打开A窗口' );    });    J('#btn3').bind( 'click', function(){        if( DG.iDG('test12') )            DG.iWin('test12').DG.cancel();        else            alert( '请先打开A窗口' );    });});function fnB(){    alert( '我是B窗口的函数' );}

      

  6. 在父窗口和子窗口之间相互调用函数和传值(3.4.1版本新增)

    // 父窗口的代码J('#btn14').dialog({ id:'test14', page:'content11.html', title:'父窗口', cover:true });// 父窗口中内容页content11.html中的代码var DG = frameElement.lhgDG;J(function(){    J('#btn1').bind( 'click', function(){        // child是子窗口的id         if( DG.iDG('child') )            alert( DG.iDoc('child').getElementById('inpB').value );            // 也可以使用jQ方式来写            // alert( J('#inpB',DG.iDoc('child')).val() );        else            alert( '请先打开子窗口' );    });    J('#btn2').bind( 'click', function(){        if( DG.iDG('child') )            DG.iWin('child').fnB();        else            alert( '请先打开子窗口' );    });});function fnA(){    alert( '我是父窗口的函数' );}// 打开子窗口的代码function opchild(){    var childDG = new DG.curWin.J.dialog({ id:'child', title:'子窗口', page:'content12.html', parent:DG });    childDG.ShowDialog();}// 子窗口中内容页content12.html中的代码var DG = frameElement.lhgDG;J(function(){    J('#btn1').bind( 'click', function(){        // test14是父窗口的id         if( DG.iDG('test14') )            alert( DG.iDoc('test14').getElementById('inpA').value );            // 也可以使用jQ方式来写            // alert( J('#inpA',DG.iDoc('test14')).val() );        else            alert( '请先打开父窗口' );});    J('#btn2').bind( 'click', function(){        if( DG.iDG('test14') )            DG.iWin('test14').fnA();        else            alert( '请先打开父窗口' );    });});function fnB(){    alert( '我是子窗口的函数' );}