各位,这里想问问为什么我用window.open打开一个窗口,在子窗口中更改了父窗口中的某一个文本域的值后不会去触发该文本域的onChange事件呢?
还有一个问题是,如何在父窗口中window.open后面的js代码如何控制在window.open打开的子窗口关闭后才继续执行呢?求教了。

解决方案 »

  1.   

    使用onpropertychange事件(IE支持)
    你说的父页面,子页面是模式对话框还是什么?
      

  2.   

    火狐用oninput事件
    if(navigator.userAgent.indexOf("MSIE")>0){
        document.getElementById('tx1').attachEvent("onpropertychange",txChange);
    }else if(navigator.userAgent.indexOf("Firefox")>0){
        document.getElementById('tx1').addEventListener("input",txChange2,false);
    }
      

  3.   

    不是模式,就一般的window.open打开的
    先测试你的代码。多谢
      

  4.   

    你用脚本修改内容不会触发文本框的onchange事件,可以人为调用, txt.onchange();
      

  5.   

    1:用脚本改变值不会执行onchange事件,人为调用, txt.onchange(); 
    2:用window.open如果你的代码写在一个函数中的话 后面的代码都会执行
    可以在打开窗口关闭时执行父页面JS
    如:window.onbeforeunload = function()
    {
    .........
    }
      

  6.   

    脚本修改内容不会触发文本框的onchange事件,主动调用 onchange 代码:var obj = document.getElementById('text1'); 
    if (document.all) {
      // For IE 
      obj.onchange();
    } else if (document.createEvent) {
      //FOR DOM2 
      var ev = document.createEvent('Events');
      ev.initEvent('change', false, true);
      obj.dispatchEvent(ev);
    }
      

  7.   

    用 showModalDialog
    而不是window.open 来打开子窗口