zoukankan      html  css  js  c++  java
  • 用javascript 控制跳转页面

    用javascript 控制<select>跳转页面 
    先看下图:

    图S1是用标签select 直接跳转的,即在选项中选择后直接跳转,而图S2是在选项中选择后再点击"提交"才进行跳转.然后就是跳转是当页跳转,还是用新页面打开,所以这里就出现跳转(或打开)的四种情况了(如下表):

    图s1 图s2
    (a1)当页,直接跳转 (a2)当页,提交后跳转
    (b1)新页面,直接打开 (b2)新页面,提交后打开

    当面跳转的核心代码是:"location.href=value"

    新页面打开的核心代码是:"window.open()"

    而还需注意的就是javasrcipt代码的嵌入位置:(1)直接跳转或打开的javascript 代码是嵌入在<select>中的,(2)提交后跳转或新页面打开是嵌入到提交按钮中的,并且按钮不是用"submit",而是用"button",调用javascript 是用"onclick",而没有在<form>中用"onsubmit"

    下面分别是四种情况的代码:

    a1(当页,直接跳转):

    <select name="qq" onchange="javascript:location.href=this.value;">
    <option value="http://www.zol.com.cn" selected="selected" >zol</option>
    <option value="http://www.163.com" >163</option>
    <option value="http://www.sina.com" >sina</option>
    <option value="http://www.sohu.com" >sohu</option>
    </select>

    b1(新页面,直接打开):
    <select name="" onchange="javascript:window.open(this.options[this.selectedIndex].value)">
     <option value="http://www.zol.com.cn" selected="selected" >zol</option>
     <option value="http://www.163.com" >163</option>
     <option value="http://www.sina.com" >sina</option>
     <option value="http://www.sohu.com" >sohu</option>
    </select>

    可以看到,直接跳转或直接打开,javascript 的代码都不需要查找标签"select"的位置,不需引用form 或 select 的名字,只是通过"this"进行当前的指定.下次像这样形式的"select",CTRL+C CRTL+V 就可以用了.

    a2(当页,提交后跳转)
    <form name="frm2" action="">
    <select name="page2">
    <option value="./date.html" selected="selected" >zol</option>
    <option value="http://www.163.com" >163</option>
    <option value="http://www.sina.com" >sina</option>
    <option value="http://www.sohu.com" >sohu</option>
    </select>
    <input type="button" value="提交" onclick="javascript:location.href=document.frm2.page2.options[document.frm2.page2.selectedIndex].value;"/>
    </form>


    b2(新页面,提交后打开)
    <form name="frm" action="">
    <select name="page">
    <option value="./date.html" selected="selected" >zol</option>
    <option value="http://www.163.com" >163</option>
    <option value="http://www.sina.com" >sina</option>
    <option value="http://www.sohu.com" >sohu</option>
    </select>
    <input type="button" value="提交" onclick="javascript:window.open(document.frm.page.options[document.frm.page.selectedIndex].value)"/>
    </form>

    a2,b2跟a1,b1不同之处在于必须对form 和 select 进行命名,因为在javascript代码中需要用到其名字进行指定行为的对象.用到其它地方时,需要对form select 的名字,及代码中进行对应的修改(黄色的字体).

  • 相关阅读:
    bzoj2006[NOI2010]超级钢琴
    bzoj1088[SCOI2005]扫雷
    bzoj1207[HNOI2004]打鼹鼠
    bzoj2132圈地计划
    bzoj2127happiness
    bzoj1037[ZJOI2008]生日聚会
    bzoj1031[JSOI2007]字符加密
    bzoj1566[noi2009]管道取珠
    bzoj2134单选错位
    vuejs之v-on小例子之实现购买数量的增加和减少
  • 原文地址:https://www.cnblogs.com/y0umer/p/3839557.html
Copyright © 2011-2022 走看看