CSDN博客

img viewercq

网页模式窗口

发表于2004/6/28 17:31:00  1537人阅读

一、需要弹出网页对话窗口的页面
  1.使用下拉框的onclick事件触发弹出对话窗口:
   <select name = 'pub_level' onclick="fnCallDialog()">
    <%wf.ShowScatSelect("----请选择人员类型----,固定人员,客座人员,学生,合同工","----请选择人员类型----");%>
   </select>
   其中:onclick事件触发js脚本中的fnCallDialog函数。wf.ShowScatSelect是内部类的方法,用于在select元素中显示内容。
  2.此页面中的javascript脚本:
   <script language = "javascript">
    var strStuff_name = ""; //接收对话窗口中名为stuff_name的select元素的value值。其形式为(”a,b”);
    var strStu_class = ""; //接收对话窗口中名为stueff_class的select元素的value值。
     //以上二个变量相当于全局变量,均在对话窗口中由sData对象实现赋值。
    var strStuff_no = ""; //数组,存放被分割的strStuff_name的值。
    function fnCallDialog()
    {
     showModalDialog ("pub.aspx",window,"dialogWidth:350px;dialogHeight:400px");
    }
    function fnUpdate()
    {
     strStuff_no = strStuff_name.split(",");
     form1.stuff_name.value = strStuff_no[0];
     form1.stuff_no.value = strStuff_no[1];
     form1.stuff_class.value = strStu_class;
    }
   </script>
   其中:
    (1).fnCallDialog函数用于弹出对话窗口,showModalDialog的参数意义为:(”弹出窗口的文件名称”,” 弹出窗口的名字(不是文件名,非必须,可用空代替)”,”窗口的高度,宽度等设置”)。
    (2).fnUpdate函数用于接收对话窗口传过来的值,处理后赋给本页面的元素。split(",")方法以","为分隔符将字符串分割,赋给数组。在对话窗口中由sData对象调用。

二、网页对话窗口
  1.javascript脚本:
   <script language = "javascript">
    Function fnGetInfo ()
    {
     var sData = dialogArguments; //创建dialogArguments的对象,用于访问母页面的对象。
     sData.strStuff_name = form1.stuff_name.options [form1.stuff_name.selectedIndex]. value;
     sData.strStu_class = form1.stueff_class.options[form1.stueff_class.selectedIndex ].value;
     sData.fnUpdate();
    }
   </script>
   其中:fnGetInfo函数用于给母页面中的变量赋值以及调用fnUpdate函数,实现传值。
  2.在button元素中调用fnGetInfo()函数:
   <form name = 'form1' method = 'post' action = "pub.aspx">
    :
    :
    <select name="stueff_class" size="8" onchange="form1.submit()"> //onchange事件重新调用本对话窗口,以便实现多表选择。
     <%wf.ShowScatSelect("固定人员,客座人员,学生,合同工",strStu_class);%>
    </select>
    <select name="stuff_name" size="8">
    <%
     if(strStu_class == "固定人员")
     {
      wdm.ShowSelect("select stuff_name,stuff_no from formal_stuff","stuff_name,stuff_no","stuff_name,stuff_no","stuff_name");
     }
     else if(strStu_class == "客座人员")
     {
    :
    :
    <input type = "button" value ="确定" onclick ="fnGetInfo();window.close ()"> //onclick事件实现调用fnGetInfo函数和关闭对话窗口。

三、注意事项
  1.执行javascript的函数时,控件必须是form的元素,否则将报错:没有该属性或方法。
  2.必须在网页对话窗口的head部分加上<base target="_self">,否则在重新调用窗体时会从新弹出一个新的窗体。
  3.在网页对话窗口的<form name = 'form1' method = 'post' action = "pub.aspx">上的action必须指定为本窗体,否则在窗体刷新时弹出的窗体将为action指定的窗体。

0 0

相关博文

我的热门文章

img
取 消
img