JAVASCRIPT 通过弹出式对话框获取参数(showModalDialog)

    通过弹出式对话框,打开一个新窗口,经过一番操作后将值返回来,研究了半天,终于搞出一个实例来,供大家分享^_^

    测试例子公有两个文件:test1.html、test2.html

1:test1.html文件的内容为:

<script>
  function btnclick()
  { 
      var a = window.showModalDialog("test2.htm")
      var getvalue ="";
      for(i=0;i<a.length;i++)
      {
       getvalue +=a[i] + ",";
      }
      var oProName = document.getElementById("t1");
      var oProName1 = document.getElementById("t2");
      var stringArray = getvalue.split('&&');      

     
      var list  = stringArray[0];
      var list1 = stringArray[1];
     
      var splitArray1 = list.split(/[,]/g);
      var splitArray2 = list1.split(/[,]/g);
      var text1 = "";
      var text2 = "";
      for(j=1;j<=splitArray1.length;j++)
      {
          text1 += splitArray1[j-1];  
          if(j<splitArray1.length)
          {
              text1 += " ";  
          }
      }
     
      for(j=1;j<=splitArray2.length;j++)
      {
          text2 += splitArray2[j-1];  
          if(j<splitArray2.length)
          {
              text2 += " ";  
          }
      }
     
      oProName.value  = text1;    
      oProName1.value = text2;
     
 }
 </script>

 <input type = 'text' name = 't1' id = 't1' value =''/>
 <input type = 'text' name = 't2' id = 't2' value =''/>
 <input type = 'button' name = 'b1' id = 'b1' value ="GetValue" οnclick="btnclick()"/>

2:text2.html的内容为:

<script>
 function sendTo(count)
 {   
     var a=new Array(count);
     for(i=1;i<=a.length;i++)
     {
      a[i-1] = i;
     }
     a.length = 2*count + 1;
     for(i=count+1;i<=2*count;i++)
     {
         a[i]=i;
     }
     a[count] = '&&';
     window.returnValue =a;
     window.close();
 }
 </script>
 <body>
 <form>
  <input value="返回" type=button οnclick="sendTo(5)">
 </form>

大家看看就知道了。

为什么要使用showModalDialog的原因为:通过showModalDialog调用的新窗口未关闭,不能操作父窗口。

注意:我为什么要在text2.html测试文件中生成的字符串中要加一个"&"符号:是因为通过showModalDialog传递参数时只能获得一个参数,要想得到多个参数,我就想了这个办法,传过来后,我通过split或正则表达式来分开得到多个参数,希望对大家有帮助^_^

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值