脚本说明:
把如下代码加入<body>区域中
<INPUT TYPE="submit" value="建站资源网" οnclick="location.href='http://www.jzzy.com'">
按钮链接乾坤大挪移
作为一个小技巧,暂时归类到ASP中。
在设计网站的时,我们可能会想把链接做成按钮的样子,按钮做成链接的样子。下面说一下我的方法。
1、按钮做成链接(图片)的样子
提交按钮<input type="submit" value="提交">
提交链接<a href="#" οnclick="表单名字.submit()">提交</a>
重置按钮<input type="reset" value="重置">
重置链接<a href="#" οnclick="表单名字.reset()">重置</a>
普通按钮<input type="button" value="按钮" οnclick="函数()">
普通链接<a href="#" οnclick="函数()">链接</a>
至于图片也一样把a标签换成img
2、链接做成按钮的样子
<a href="reg.asp">注册</a>
=><input type="button" value="注册" οnclick="location.href='reg.asp'">
-----------------------------------
有的时候我们完全可以手工做一个get方式的表单,至于用按钮还是链接随心所欲。
<form action="xx.asp" method="get" name="form1">
<input name="aa" type="text" id="aa">
<input name="bb" type="text" id="bb">
<input type="submit" name="Submit" value="提交">
</form>
=>
<input name="aa" type="text" id="aa">
<input name="bb" type="text" id="bb">
<input type="button" value="按钮" οnclick="location.href='xx.asp?aa='+document.all['aa'].value+'&bb='+document.all['bb'].value">
-----------------------------------
进一步说我们还可以做一个按钮(链接)来同时传递js变量,表单input的值,asp变量,Recordset值
<script language="javascript">
var id1=1;
</script>
<%
id3=3
....
rs.open exec,conn,1,1
假设有rs("id4")=4
...
%>
<input name="id2" type="text" id="id2" value="2">
<input type="button" value="按钮"
οnclick="location.href='xx.asp?id1='+id1+'&id2='+document.all['id2'].value+'&id3=<%=id3%>&id4=<%=rs("id4")%>'">
我们按下按钮会看到浏览器的url是xx.asp?id1=1&id2=2&id3=3&id4=4
在xx.asp中我们就可以用request.querystring来得到所有变量,这样是不是变相的客户端js和服务器段的变量传递?
------------------------------------------------------------------------------------------------------------------------------
如何给按钮加上链接功能
解决思路:
按钮属于控件级的对象,优先级比较高,所以不能象图片或文本一样直接加链接,只能通过按钮的单击事件调用脚本的方式来实现。
具体步骤:
1.在原窗口打开链接
<input type="button"
value="闪吧" onClick="location=’http://www.flash8.net’">
<button onClick="location.href=’http://www.flash8.net’">闪吧</button>
<form action="http://www.flash8.net"><input type="submit" value="打开链接"></form>
2.在新窗口中打开链接
<input type="button"
value="闪吧" onClick="window.open(’http://www.flash8.net’)">
<button onClick="window.open(’http://www.flash8.net’)">闪吧</button>
<form action="http://www.flash8.net"
target="_blank"><input type="submit" value="打开链接"></form>
注意:onClick调用的代码里的引号在只有一重时可以单双嵌套,超过两重就必须用"/"号转义且转义的引号必须跟里层的引号一致,如:
<button onClick="this.innerHTML=’<font color=/’red/’>http://www.flash8.net</font>’">闪吧</button>
或
<button onClick=’this.innerHTML="<font color=/"red/">http://www.flash8.net</font>"’>闪吧</button>
而下面都是错误的写法:
<button onClick="this.innerHTML=’<font color=’red’>http://www.flash8.net</font>’">闪吧</button>
<button onClick="this.innerHTML=’<font color="red">http://www.flash8.net</font>’">闪吧</button>
<button onClick="this.innerHTML=’<font color=/"red/">http://www.flash8.net</font>’">闪吧</button>
提示:大部分属于window或document对象的方法和属性都可以省略前缀window或document,比如说本例中的location.href(location.href又可以简写为location,因为location的默认对象为href)就是window.location.href或document.location.href的省略式写法。
技巧:本例中还可以用下面的方法来代替location.href
location.replace(url)
location.assign(url)
navigate(url)
特别提示
第一步中的代码运行后,单击按钮将跳转到链接目标。而第二步的在单击按钮后将在新窗口中打开链接。
特别说明
本例主要是通过用onClick捕获用户在按钮上的单击事件,然后调用location对象的href方法或window对象的open方法来打开链接。另外一个技巧是通过提交表单来实现链接功能,按钮必须是type=submit类型的按钮,表单的action值就是链接目标,target值就是链接打开的目标方式。