用JavaScript。顺便问下,楼上的是做CRM的么?

解决方案 »

  1.   

    是的。
    在传统的WINDOWS EXE程序中,模态对话框经常出现。例如,写字板程序(WORDPAD.EXE)中的“查看/选项(O)...”菜单被点中后,跳出“选项”对话框,用户一定要响应该对话框,如果该对话框不关闭,是无法回到主窗口的。这经常被应用于要求用户输入多个参数的场合。我们在浏览器中也可以简单地实现该功能。 
    ---- 在IE浏览器中,要求用户输入可以使用VBScript的INPUTBOX函数、或者J Script的window.prompt方法,但是界面都比较单调,并且只能传递一个参数,而用DHTML来实现就灵活多了。 ---- 1. 基本语法 ---- window对象有一个方法称为showModalDialog,我们可以在页面按钮的onclick中写如下代码: <BUTTON onclick="window.showModalDialog('dialog.htm')" >Search</BUTTON>---- 系统会在新窗口中打开dialog.htm页面,并且等待用户响应,如果用户不响应该页面,那么主页面将得不到光标。 
    ---- 在dialog.htm中设置window对象的returnValue属性,就可以让主页面得到返回值。例如,在页面的确定按钮的onclick中写: window.returnValue = window.    document.all.iptPeopleID.value---- 将输入框iptPeopleID的值赋给window对象的returnValue属性。在主页面中就可以得到这个值: 
        var str = showModalDialog("dialog1.htm")---- 2. 传递初始化值 
    ---- 如果要向模态页面中传递初始化值,可以在主页面中用如下语句: var cSearchValue=showModalDialog('dialog.htm', 'ABC')在dialog.htm中使用window.dialogArguments属性可以得到'ABC'。例如:< SCRIPT FOR=window EVENT=onload LANGUAGE="JScript" >if (window.dialogArguments != null)        window.document.all.iptPeopleID.value = window.dialogArguments;< /SCRIPT >---- 3. 传递多个数值 
    ---- 如果要向模态页面中传递多个参数,可以先在主页面中定义一个对象, function myDialog() {    var str1;    var str2;}
    ---- 显示模态页面之前初始化该对象,然后调用showModalDialog方法。 
    function WelcomeYou(iniStr1,iniStr2) {    myDialog.str1 = iniStr1;    myDialog.str2 =iniStr2 ;
    if (showModalDialog("dialog2.htm", myDialog)==false) //将对象传入......---- 在模态页面中,可以用这样的代码 
    window.document.all.iptID.value= window.dialogArguments.str1来引用数值,或者用这样的代码对之赋值window.dialogArguments.str1 = window.document.all.iptID.value
    ---- 这些代码必须在IE4.01 SP1及以上版本下运行。
      

  2.   

    参考一下:在主窗口用window.open打开新窗口并传递参数,shopname为文本框
    <input onclick="javascript:window.open('selectshop.aspx?id='+document.all.shopname.value+'','_blank','left=150,top=100,width=720,height=500');" type="button" value="打开">在新页面根据传过来的参数处理,然后返回父页面并传值。关闭子窗口
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
             {
           e.Item.Attributes["ondblclick"] = "window.opener.location.href='neworder.aspx?id="+e.Item.Cells[0].Text+"&id1="+e.Item.Cells[1].Text+"';window.close();";//关闭时传过去
             }
    在父窗口用Request.QueryString["id"]; 得到返回的值
      

  3.   

    a页面中有Button
    <asp:TextBox id="txtConsigneeDeliver" tabIndex="7" EnableViewState="False" Runat="server" ReadOnly="True"></asp:TextBox><INPUT onclick="javascrpit:window.open('listorg.aspx','null','height=150,width=350,directories=no,location=no,menubar=no,resizeable=no,scrollbars=yes,status=no,toolbar=no');" type="button"  value="..." name="btnSelect">
    b页面中
    <asp:textbox id="txtName" Runat="server" /〉
    <input type="button" value="选择" onclick="javascript:fillData()">
    <script language=javascript>
        function fillData()
        {
         window.opener.Form1.txtConsigneeDeliver.value = document.Form1.txtName.value;
       window.close();
        }
    </script>