主题:  有什么方法让asp读到java的变量值?

6H23Tube

职务:普通成员
等级:1
金币:0.0
发贴:21
#12004/6/2 9:58:47
<%sql="SELECT * FROM 图书目录"
set rs=server.createobject("adodb.recordset")
rs.open sql,m_conn,1,1
do while not rs.eof%>
if(document.form1.txt_bh.value=='<%=rs("编号")%>'){document.form1.txt_sm.value='<%=rs("书名")%>';}
else{alert('找不到该编号的图书!');}
<%rs.movenext
loop
rs.close%>
这段代码是图书管理中的,通过书的编号找书名,运行太慢,想改成有打开数据时即调用document.form1.txt_bh.value这个控件的值变成sql="SELECT * FROM 图书目录 WHERE 编号=" & document.form1.txt_bh.value,但不成功,因为sql 是asp的变量,document.form1.txt_bh.value 是java的变量,互不通用,请教有什么方法实现?



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#22004/6/2 10:28:28
你还没有搞清楚客户端和服务器端的概念



6H23Tube

职务:普通成员
等级:1
金币:0.0
发贴:21
#32004/6/2 11:04:21
印象中asp是有服务器端运行,java是不是在客户端运行?
java中调用asp的变量我就会,例如aa=<%=bb%>
asp中调用java的变量我就不会了,还请指教



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#42004/6/2 12:19:18
你还是没有搞清

aa=<%=bb%>
这个不能叫js调用asp的变量,因为真正这个文件执行后bb就是一个具体的字符串或者其他了.对于js,这个只能叫赋值

另外,javascript不是java



6H23Tube

职务:普通成员
等级:1
金币:0.0
发贴:21
#52004/6/2 14:01:58
是javasript,但是反过来真的没办法吗
我也想过其他方法,例如用一个隐蔽控件来过渡,但asp必须等提交后才读到控件的值。或者用session或cookies,但js如何调用session就不会了。



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#62004/6/2 14:37:44
我说了半天白说了

<%sql="SELECT * FROM 图书目录"
set rs=server.createobject("adodb.recordset")
rs.open sql,m_conn,1,1
do while not rs.eof%>
if(document.form1.txt_bh.value=='<%=rs("编号")%>'){document.form1.txt_sm.value='<%=rs("书名")%>';}
else{alert('找不到该编号的图书!');}
<%rs.movenext
loop
rs.close%>

这样的设计理念首先就是错误的!客户端和服务器端不是同时运行的.就像我上面说的,你举的例子不是说js调用asp的变量.对于服务器执行asp来说,只是输出一个变量.对于客户端运行js来说,只是给变量赋值,不知道你明白了么?
asp要在服务器端执行,也就是说你必须要提交到服务器才可以查询,不可能在客户端运行的.你要考虑的是把js的变量做参数提交到服务器
如果你非要客户端操作,那么就把所有的数据都读取到客户端再操作.



6H23Tube

职务:普通成员
等级:1
金币:0.0
发贴:21
#72004/6/2 16:14:36
你的意思我明白了,
那就换一种说法,上面的代码由于要循环整个表,导致性能低下,有什么办法可以提高运行速度呢?
我的意思是页面上有两个控件,一个是编号,一个是书名,当输入编号时,自动从表中找出书名赋值在“书名”的控件中,而不需要按“提交”



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#82004/6/2 17:22:01
首先还是要提交了去查询
不过可以改变一个方法.
当输入编号的时候,网页自动把这个数据用一个比较隐蔽的方式提交到服务器,然后返回一个值.
用js中某个触发事件来实现提交数据
比如onchange

这里的提交不一定是提交表单,可以只把一个隐藏的iframe自动去请求一个页面,你要做的就是把输入的id当作参数传递过去



6H23Tube

职务:普通成员
等级:1
金币:0.0
发贴:21
#92004/6/6 20:39:00
谢谢allinhands兄
后来用取巧的方法解决了,把编号独立为一个表单,书名独立为一个表单,其他控件共用第三个表单,在这两个控件中回车就是提交,然后用纯asp查询数据,再赋给其他控件,神不知鬼不觉。
经过一段时间学习,觉得asp的功能实在太有限了,对窗口和控件操作或事件响应基本没办法,就象msgbox()这样简单的东西都没法用,只能用js里面的alert(),看来asp.net应该可以解决这些问题吧。



Mike

职务:版主
等级:6
金币:11.0
发贴:5148
#102004/6/6 22:20:33
.net,唉用不起~~~