日期:2014-05-18  浏览次数:20364 次

求教一个javascript问题。
首先,用ShowModelessDialog方法打开一个弹出窗口(父窗口w1,子窗口w2)。 
现在我想在vb代码中嵌入一个javascript。 
功能是这样的:在子窗口的vb代码中嵌入一个javascript,使它能够实现设定父窗口w1中的lebal控件的text值为子窗口w2中textbox控件的text值。 

用window.dialogArguments.document.w1.lebal.text(或value) = textbox.text试验过,提示javascript错误,lebal为null或不存在。 

我不太熟悉javascript,求教各位大侠帮忙指点迷津。

------解决方案--------------------

var text = window.showModalDialog('Default2.aspx',text);
document.all("Label1").innerText = text;
子 
 window.returnValue = document.all("TextBox1").value;
window.close();

------解决方案--------------------
你参考一下这个简单例子:
parentWin.htm.以下是该页面的代码:
JScript code

function openWin()
{ 
   var getValue= showModalDialog("childWin.htm", "egwin", "dialogWidth:420px; dialogHeight:220px;status:no;help:yes"); 
   if (getValue!= null)
   { 
      $("txtGetValue").value=getValue; 
   } 
} 
    
function $(objID)
{
   return document.getElementById(objID);
}

------解决方案--------------------
HTML code

可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如:

 test4.htm
 ===================
 <script>
  var a = window.showModalDialog("test5.htm")
  for(i=0;i<a.length;i++) alert(a[i])
 </script>

 test5.htm
 ===================
 <script>
 function sendTo()
 {
  var a=new Array("a","b")
  window.returnValue = a
  window.close()
 }
 </script>
 <body>
 <form>
  <input value="返回" type=button onclick="sendTo()">
 </form>