请问为什么我这样写不能把"item"传递到页面bysolution.asp里面去呢???
这样写实际上是可以传值的,至于你为什么没得到值你应该要去看看你的bitem是否已经得到值了
这里用<%%>没有错误
<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就是客户端变量而并不属于服务器端变量,而客户端脚本找不到这个变量就会错误,这里就是直接在客户端脚本操作服务器端变量的错误。客户端脚本只能操作服务器端变量返回的具体值,不能操作变量本身。