2017年理科高考分数线:求ASP与JS问题.

来源:百度文库 编辑:杭州交通信息网 时间:2024/03/29 01:36:44
<%
'此处想实现的功能是,在T1表单中输入编号后,自动在数据库中寻找与T1对应的主题,然后在T2中显示出来

Function Js()
js="Form1.T2.value=Form1.T1.value"
End Function
%>
<form name="Form1" method="post" action="" >
<div align="center">
<table width="331" border="1" cellspacing="1" cellpadding="1" style="border-collapse:collapse">
<tr height="30" >
<td width="325">
请输入编号:<input type="text" name="T1" size="20" onchange="<%=Js%>"><p>
编号对应的主题:<input type="text" name="T2" size="20"></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="B1" value="提交">     
</div></td>
</tr>
</table>
</div>
</form>
-------------------------------
现在已经实现了的功能是,在第一个框中输入了数字后,在第二个框中能显示出这个数字来.但是想实现的效果是,在第一个框中输入数字后,在第二个框中能自动显示出此数字对应的数据库中的主题.
数据库结构如下:
Id,Subject
Id就是第一个框中要输入的内容,Subject就是第二个框中要显示的内容
求高手指点,谢谢.没分了.等以后有了一定补上.

这个用Ajax+Asp可以实现.
代码如下:
首先,前台页面input.asp:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<script language="javascript" type="text/javascript">
var xmlHttp = false;
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}

function callserver(){
var t1,t2;
t1=document.getElementById("t1").value;
if((t1==null) return;
if((t1=="") return;
var url="goto.asp?t1="+escape(t1)+"&t2="+escape(t2);
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=upstatepage;
xmlHttp.send(null);
}

function upstatepage(){
if(xmlHttp.readyState==4){
var response=xmlHttp.responseText;
document.getElementById("t2").value=response;
}
}
</script>
<form name="f1">
<input type="text" name="t1" size="12" onChange="callserver()"><br>
<input type="text" name="t2" size="12">
</form>
</body>
</html>

其次,处理参数和连接数据库页面:
<!--#include file="conn.asp"-->
<%
Dim t1,t2
Dim SQL,Rs
t1=Request.QueryString("t1")
SQL="Select Subject From 数据库名 Where id="&CInt(t1)
Set Rs=Conn.Execute(SQL)
If Rs.Eof Then
t2="没有找到与ID对应记录"
Else
t2=Rs(0)
End If
Response.Charset = "GB2312" '这句是防止出现中文乱码;
Response.Write t2
%>

不是这样子弄的
如果数据不多,你需要在页面中把所有的 ID-Subject 的值都读出来,存在数组里再在需要的时候查找判断
如果数据多,你就需要一个新的页面去在服务器端查找。