有个录入信息的页面 其中有一项 比如选择部门  要从一个弹出的页面选 并且有可能是多选 然后在录入信息的页面再分别显示出来那位仁兄 给提供个好方法  。。

解决方案 »

  1.   

    问题补充 : 不用AJAX  最好不要用session和 cookies
      

  2.   

    把你选中的存到数组里面啊
    或者连成字符串,然后用的时候在用splt分开
      

  3.   

    window.showModalDialog(url);
    返回值 window.returnValue.可以在showModalDialog开启的窗口关闭后前,回传一个任意类型的值
      

  4.   

    原理和zhj__zhj 一样
    事例:
    1.获取打开窗体中相应值
    function RsellerProductSelectProduct(ProductCode,ProductId,Price)
        {
          var product=ShowModalDialog("Product Selector","Registry/ProductSelector.aspx","500px","600px");
          if ((product==undefined) || (product==null)) 
            return false;
          else
          {
            ProductCode.value=product.ProductCode;
            ProductId.value=product.ProductId;
            Price.value = product.Price;
            return false;
            
          }
        }
    2.打开窗体中值的定义
    GRIDVIEW中
     <asp:TemplateField ShowHeader="False" meta:resourcekey="TemplateFieldResource1">
                        <itemstyle width="20px" />
                        <headerstyle width="20px" />
                        <itemtemplate>
    <asp:ImageButton runat="server" ID="ImageButton1" CommandArgument='<%# Eval("Id") %>' CommandName="Select" CausesValidation="False" ImageUrl="~/Images/Select.gif" 
    OnClientClick="<%# string.Format(&quot;window.returnValue={{ProductId:'{0}',ProductCode:'{1}',Price:'{2}'}};window.close();return false;&quot;,Eval(&quot;Id&quot;),Eval(&quot;ProductCode&quot;),Eval(&quot;Price&quot;)) %>" Text="Select" __designer:wfdid="w8" meta:resourcekey="ImageButton1Resource1"></asp:ImageButton> 
    </itemtemplate>
                      </asp:TemplateField>
      

  5.   

    var returnValue=window.showModalDialog("default.aspx",null,"dialogWidth:600px;dialogHeight:400px;help:no;resizable:no;status:no;center:1;scroll:0");default.aspx:
    window.returnValue=param;关闭时返回param;
      

  6.   

    open出來,找到opener把值傳回去就可以了.
      

  7.   

    你的需求是不是这样:一个录入页面,其中有一项,比如选择部门是一个按钮,点了后会open一个新窗口,然后在这个窗口中选择值,选择完了关闭新窗口,将值传回录入页面并绑定到控件?如果是这样的需求的话楼主是否考虑到刷新问题?比如在选择部门之前有十个输入框,参数回传时得刷新页面,那么之前在这十个输入框中录入的值将丢失。个人建议完全可以用DIV来摸拟弹出窗口,在同一个页面上用Javascript就可以简单的传递变量值,不论从用户体验还是代码简易性都要更秀一些。不太清楚楼主实际情况,仅供参考。
      

  8.   

    回8楼:
    if(window.opener)
    {
    eval("任意对象名=window.opener.document.all.父页面要得值的控件ID");
         任意对象名.value=document.all.本页面要传值的控件ID.value;
    }
    //这里偶用的文本框,
    -----------------------------
    这样不用刷新父页面的。。   
      

  9.   

    可以通过window.returnValue向打开对话框的窗口返回信息。例如:
    <script>
    str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px");
    alert(str);
    </script>
    modal.htm
    <script>
    window.returnValue="/";
    </script>
    window.showModalDialog("DialogPage.aspx","newwin","dialogHeight: 200px; dialogWidth: 150px; dialogTop: 458px; dialogLeft: 166px; edge: Raised; center: Yes; help: Yes; resizable: Yes; status: Yes;"); 
     
      

  10.   

    感觉 8楼说的比较好 ~~
    应该写在 JS 生成的div 里,要不 刷新页面老闹心了~~
      

  11.   

    可以用数据库的
      建立部门的表,这样便于维户核管理,然后再从数据库中读取就可以了啊
       要实现麻烦可以用Session
      

  12.   

       function openpage(htmlurl) 
        {
            var newwin=window.open(htmlurl,"newWin","toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=no,resizable=yes,top=100,left=200,width=650,height=300");
            newwin.focus();
            return false;
        }
        </script>父窗口......string s = "window.opener.document.getElementById('textbox1').value='" + "你要传的值" + "'; window.close();";
    子窗口值要是多的话先传给一个变量
    如(字段1,字段2,字段3)
    传过去后再分割
    还有就是用session保存最简单了 ...
      

  13.   

    你的需求是不是这样:一个录入页面,其中有一项,比如选择部门是一个按钮,点了后会open一个新窗口,然后在这个窗口中选择值,选择完了关闭新窗口,将值传回录入页面并绑定到控件? 如果是这样的需求的话楼主是否考虑到刷新问题?比如在选择部门之前有十个输入框,参数回传时得刷新页面,那么之前在这十个输入框中录入的值将丢失。 个人建议完全可以用DIV来摸拟弹出窗口,在同一个页面上用Javascript就可以简单的传递变量值,不论从用户体验还是代码简易性都要更秀一些。 不太清楚楼主实际情况,仅供参考。