1: showmodedialog 出来的窗口如何能够调用到父窗口的function ? 2: 在一input 里: 
       <input value="aaaa;bbbbb;444444;hhhhh;yyyyy;kkkkk" onclick="del_this(this)">   如何用js 做到: 当鼠标点击input 时, 取到点击到的其中二个分号间的值? 并把其删去? 
   比如: 鼠标点击"h"要取到 ;hhhhh;结果input 的value="aaaa;bbbbb;444444;yyyyy;kkkkk"-------在线登待... ^_^

解决方案 »

  1.   

    1.将父窗口的winodw做为参数传递到子窗口
    2.用正则表达式试一下,看行不行
      

  2.   

    showModalDialog('ttt.htm','','dialogWidth: 480px; dialogHeight: 360px; status: no; help: no');ttt.htm:
    var mm;
    if (window.dialogArguments != null) mm = window.dialogArguments;
    mm.functionName();  //2.
    <input value="aaaa;bbbbb;444444;hhhhh;yyyyy;kkkkk" onclick="del_this(this)">
    <script language="javascript">
    function del_this(e)
    {
      var a1, a2
      var sel1 = document.selection.createRange().duplicate();  var range = e.createTextRange();
      var sel2 = sel1.duplicate();
      sel2.setEndPoint("StartToStart",range);
      a1 = sel2.text;  sel2 = sel1.duplicate();
      sel2.setEndPoint("EndToEnd",range);
      a2 = sel2.text;  if(a1!="") a2 = a2.replace(/^[^;]*(;)?/, "$1");
      a1 = a1.replace(/(;?[^;]*)$/, "");  e.value = a1 + a2;
    }
    </script>
      

  3.   

    1. 要改一下回复:
    showModalDialog('ttt.htm', window,'dialogWidth: 480px; dialogHeight: 360px; status: no; help: no');ttt.htm:
    var mm;
    if (window.dialogArguments != null) mm = window.dialogArguments;
    mm.functionName();  //
      

  4.   

    window.opener  is parent.