`
shirlly
  • 浏览: 1624815 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

用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 的名字,及代码中进行对应的修改(黄色的字体).

转自:http://blog.chinaunix.net/u1/36483/showart_292227.html
分享到:
评论

相关推荐

    JavaScript实现通过select标签跳转网页的方法

    本文实例讲述了JavaScript实现通过select标签跳转网页的方法。分享给大家供大家参考,具体如下: 我们经常有遇到需要用select标签跳转到新网页的情况,dw生成的代码太复杂,那么有没有精简的代码得以实现呢?经过...

    JSP分页代码

    page=&lt;%= intPageCount %&gt;"&gt;尾页&lt;/a&gt;&lt;br&gt; &lt;% } %&gt;跳转到&lt;br&gt; &lt;select name="page" onChange="javascript:this.form.submit();"&gt;&lt;br&gt; &lt;% for(i=1;i&lt;=intPageCount;i++){%&gt; &lt;br&gt; &lt;option value="&lt;%= i %&gt;" &lt;% if(int...

    简单的一个学生管理系统 servlet+JSP

    &lt;script type="text/javascript" src="/soft08/js/queryStudent.js"&gt;&lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;h1&gt; 学生信息查询 &lt;/h1&gt; &lt;form action="/soft08/StudentSer" method="post"&gt; 学生姓名 &lt;input ...

    数据库分页脚本 jsp

    &lt;script type="text/javascript"&gt; function gotoSelectedPage() { var x = document.getElementById("navigatorForm"); //alert("Original action: " + x.action) x.submit(); } &lt;/script&gt; &lt;form action=...

    Java Oracle分页处理

    &lt;script language = "JavaScript"&gt; for(i=1;i&lt;=${page.totalPages};i++) document.write("&lt;option value="+i+"&gt;"+i+"&lt;/option&gt;"); document.forms[0].pagetype.options[${page....

    jsp 分页代码大全

    &lt;select name="page" onChange="javascript:this.form.submit();"&gt; &lt;% for(i=1;i&lt;=intPageCount;i++){%&gt; &lt;option value="&lt;%= i %&gt;" &lt;% if(intPage == i){%&gt;selected&lt;% } %&gt;&gt;&lt;%= i %&gt;&lt;/option&gt; &lt;% } %&gt; &lt;/...

    html入门到放弃笔记

    标记在使用时,用尖括号 "&lt;&gt;",标记的分类 1、封闭类型的标记 也称为 "双标记" , 必须成对出现 语法:&lt;标记&gt;内容&lt;/标记&gt; Demo : 1、创建 p 标记 --&lt;p&gt;...&lt;/p&gt; 2、创建 div 标记 -- &lt;div&gt;&lt;/div&gt; 3、创建 ...

    asp.net汽车销售网站

    If Intcatid &lt;&gt; 0 Then rs.open "select category from category where categoryid="&Intcatid&" ",conn,1,1 strcategory = trim(rs("category")) rs.close strcat = strcat &"-&gt;&lt;a href=chknews.asp?catid="&...

    php跳转类 model

    return $this-&gt;db-&gt;select($select)-&gt;where($where)-&gt;get($table)-&gt;result_array(); }//添加成功 function add($a){ $b= site_url($a); $this-&gt;halt($b,"添加成功",0); } function edit($a){ $b= site_...

    JS分页效果JS分页效果

    if (this.pageCount &gt;= startPage + 10) strHtml += '&lt;span title="Next 10 Pages"&gt;&lt;a href="javascript:' + this.name + '.toPage(' + (startPage + 10) + ');"&gt;...&lt;/a&gt;&lt;/span&gt;'; if (nextPage &gt; this....

    小型bbs jsp源代码

    // 页面跳转 ,试试用另一种方式表现 }else if (disable){%&gt; 该用户已经被禁用! &lt;%}else{%&gt; 用户名或密码有误,请重新登录! &lt;%}%&gt; &lt;a href="javascript:history.back();"&gt;返回&lt;/a&gt; &lt;/BODY&gt; &lt;/HTML&gt;

    ASP.NET常用代码

    &lt;script language="javascript" for="document" event="onkeydown"&gt; if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event....

    JavaScript实现单击下拉框选择直接跳转页面的方法

    主要介绍了JavaScript实现单击下拉框选择直接跳转页面的方法,涉及javascript控制页面跳转的相关技巧,需要的朋友可以参考下

    javascript函数的解释

    57.innerHTML的值是表单元素的值:如&lt;p id="para"&gt;"how are &lt;em&gt;you&lt; /em&gt;"&lt;/p&gt;,则innerHTML的值就是:how are &lt;em&gt;you&lt;/em&gt; 58.innerTEXT的值和上面的一样,只不过不会把&lt;em&gt;这种标记显示出来. 59.contentEditable可...

    2款跳转菜单弹出新窗口页面源码

    2款跳转菜单弹出新窗口页面源码 select跳转菜单新窗口代码 Javascript下拉选择 点击弹出新窗口

    ASP.NET程序中常用的三十三种代码.txt

    id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)&lt;/script&gt;")  接收参数: string a = Request.QueryString("id"); string b = Request.QueryString("id1");  2.为按钮添加对话框 Button1.Attributes....

    JavaScript完全自学宝典 源代码

    1.6.html 使用“&lt;marquee&gt;”标记,实现的滚动字幕效果。 1.7.html 使用JavaScript实现简单的字幕滚动。 1.8.html 使用JavaScript实现字幕连续滚动。 1.9.html 使用JavaScript实现的简单数字时钟。 ...

    jsp分页插件--PageBean(java源码)

    " &lt;input type=\"button\" value=\"跳转\" onclick=\"jumpPage(document.getElementById('jumpPageBox'))\"&gt; "; return s; } /** * 进行分页计算. */ private void calculate() { if (getPageCount() ==...

Global site tag (gtag.js) - Google Analytics