求助!!非常急需各位的帮助!请问该怎样实现自动提示录入的功能?
最近一个任务,客户要求实现简化输入,即:在客户录入数据时,比如说,他要输入一个记录编号01024546666,当他输入010时,系统就把数据库中所有以010开头的数据显示在下(类似IE地址栏),他就可以不完全输入数据,只通过选择达到录入的目的。不知ASP能否实现这种功能?采用什么技术可以实现呢?求赐教!!,请各位大虾帮帮忙,指点一下我!!我正头大呢......
非常感谢!!!
问题点数:30、回复次数:6Top
1 楼TrueAndFalse(彩旗飘飘)回复于 2004-05-02 23:32:44 得分 10
看看这个对你有没有帮助, 海娃老大的
http://www.51windows.net/hw/asp/jsview.asp?id=318Top
2 楼stayhere(且留连)回复于 2004-05-02 23:40:53 得分 0
方法是用的,呵呵.可以建一个层,然后层中的内容用xmlHttp动态加载,输入010开关的捕捉可以用输入框的onchange事件.Top
3 楼stayhere(且留连)回复于 2004-05-02 23:57:04 得分 18
具体方法:
<div id="dySea" style="visibility:hidden;position:absolute; width:200px; height:115px; z-index:1"></div>
<script language=vbscript>
function recNum.onChange()
if len(window.event.srcElement.value)=3 then
set xml=createobject("microsoft.xmlhttp")
xml.open "GET","http://你的网址/dySea.asp?id="+window.event.srcElement.value",false
xml.send
mylist=bin2str(xml.reponsebody)
加入部分代码对mylist进行规则化,如去掉"<html><title>"等无用的内容
dySea.innerHtml=mylist
dySea.offsetLeft=window.event.srcElement.OffSetleft+document.body.scrollLeft
dySea.offsetTop=window.even..........................scrollTop
dySea.style.visibility="visible"<!--把层显示出来-->
end if
end function
Function Bin2Str(Bin)
Dim I, Str
For I=1 to LenB(Bin)
clow=MidB(Bin,I,1)
if ASCB(clow)<128 then
Str = Str & Chr(ASCB(clow))
else
I=I+1
if I <= LenB(Bin) then Str = Str & Chr(ASCW(MidB(Bin,I,1)&clow))
end if
Next
Bin2Str = Str
End Function
</script>
dysea.asp就是要写的真正连接数据库的文件.Top
4 楼stayhere(且留连)回复于 2004-05-03 00:03:02 得分 0
dysea.asp:
....
do until rs.eof
response.write "<font onClick='autoFill()'>" + rs("recNum") + "</font><br>"
loop
....
在上述的调用这个asp文件的文件里要有一个autoFill的函数:
<script language=vbscirt>
function autoFill()
form1.recNum.value=window.event.srcElement.innerHtml
end function
</script>Top
5 楼windcary(程静)回复于 2004-05-03 00:22:56 得分 0
请问,是否一定要用XMLHTTP才能实现?我的数据量挺大的Top
6 楼huidan(坏蛋)回复于 2004-05-03 01:10:22 得分 2
简单一点用 JS:ONCHANGE=。。。
提交到一个IFRAMETop




