|
主题: 有什么方法让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,唉用不起~~~
|