标题:[求助]为什么这样参数传递不过去?
只看楼主
favoriteran
Rank: 1
等 级:新手上路
帖 子:142
专家分:0
注 册:2006-3-10
 问题点数:0 回复次数:6 
[求助]为什么这样参数传递不过去?
<input name="button" type="button" id="button" onClick="window.open('bysolution.asp?item=<%=bitem%>','','width=600,height=150')" value="demand">


请问为什么我这样写不能把"item"传递到页面bysolution.asp里面去呢???
搜索更多相关主题的帖子: 参数 button item bysolution name 
2006-03-15 16:07
dennis
Rank: 1
等 级:新手上路
帖 子:102
专家分:0
注 册:2006-2-17
得分:0 

这样写实际上是可以传值的,至于你为什么没得到值你应该要去看看你的bitem是否已经得到值了

2006-03-15 16:26
VB爱上我
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:478
专家分:52
注 册:2005-10-14
得分:0 
<input name="button" type="button" id="button" onClick="window.open('bysolution.asp?item=<%=bitem%>','','width=600,height=150')" value="demand">
onClick里的是javascript代码不能用<%%>
只能这样
<input name="button" type="button" id="button" onClick="window.open('bysolution.asp?item='+bitem,'','width=600,height=150')" value="demand">

IT618资讯网 提供服务端开发,前端开发,网页特效,热门开源系统研究,软件下载,站长建站,淘宝开店等学习资料.
2006-03-15 16:50
favoriteran
Rank: 1
等 级:新手上路
帖 子:142
专家分:0
注 册:2006-3-10
得分:0 
<%
set bs=server.CreateObject("adodb.recordset")
bs.open "select solution.itemid from solution",conn,3,3
bitem=bs("itemid")
%>
<tr><Td colspan="2" align="center">
<input name="提交" type="submit" value="submit">
<input name="button" type="button" id="button" onClick="window.open('bysolution.asp?item='+bitem,'','width=600,height=150')" value="demand">
</Td>
</tr>
谢谢楼上的,请问我这样写:bitem是否得到了值

海納百川,一切從源開始........
2006-03-15 21:03
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
以下是引用VB爱上我在2006-3-15 16:50:00的发言:
<input name="button" type="button" id="button" onClick="window.open('bysolution.asp?item=<%=bitem%>','','width=600,height=150')" value="demand">
onClick里的是javascript代码不能用<%%>
只能这样
<input name="button" type="button" id="button" onClick="window.open('bysolution.asp?item='+bitem,'','width=600,height=150')" value="demand">

这里用<%%>没有错误
<input name="button" type="button" id="button" onClick="window.open('bysolution.asp?item=<%=bitem%>','','width=600,height=150')" value="demand">
因为ASP网页会自动返回具体的值,按道理这个应该是能传递过去的。
JavaScript可以让服务器端返回具体的值,但不能直接操作服务器端的变量
<input name="button" type="button" id="button" onClick="window.open('bysolution.asp?item=<%=bitem%>','','width=600,height=150')" value="demand">
这样写是正确的
网页执行以后比如bititem的值为5则网页的浏览器执行后的源代码为
<input name="button" type="button" id="button" onClick="window.open('bysolution.asp?item=5','','width=600,height=150')" value="demand">
如此就返回了具体的值
但如果
<input name="button" type="button" id="button" onClick="window.open('bysolution.asp?item='+bitem,'','width=600,height=150')" value="demand">
这样用+bitem则bitem就是客户端变量而并不属于服务器端变量,而客户端脚本找不到这个变量就会错误,这里就是直接在客户端脚本操作服务器端变量的错误。客户端脚本只能操作服务器端变量返回的具体值,不能操作变量本身。

2006-03-15 21:13
favoriteran
Rank: 1
等 级:新手上路
帖 子:142
专家分:0
注 册:2006-3-10
得分:0 
谢谢您的具体分析,那请问我上面这样写,有没有从数据库得到item的值啊?

海納百川,一切從源開始........
2006-03-15 21:25
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
<input name="button" type="button" id="button" onClick="window.open('bysolution.asp?item=<%=bitem%>','','width=600,height=150')" value="demand">
你可以用Response.Write "bitem="&bitem来试试是否返回了值。
2006-03-15 21:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-50584-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.224317 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved