+ -
当前位置:首页 → 问答吧 → 如何通过ASP的submit按钮传递参数(在线等~~~~)

如何通过ASP的submit按钮传递参数(在线等~~~~)

时间:2011-11-23

来源:互联网

第一个页面显示所有未结束的来访纪录
单击完成后,更新数据库为对应的记录添加结束日期和时间并让判断是否结束的标志lyn=1(1结束,0未结束)
第二个页面无法接受参数
提示“至少一个参数没有被指定值。”
第一个页面如下

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<!--#include file="conn.asp"-->
<title>无标题文档</title>
<style type="text/css">
<!--
.STYLE1 {font-family: "宋体";
font-size: 12px;
}
-->
</style>
</head>

<body>
<p>&nbsp;</p>
<p>&nbsp;</p>
<form action="editlaifang.asp?id= <%=id%>" method="post" name="form1" >
  <table width="780" height="51" border="1" cellpadding="0" cellspacing="0">
  <tr>
  <td width="39">编号</td>
  <td width="39">访客姓名</td>
  <td width="39">证件</td>
  <td width="39">学生姓名</td>
  <td width="39">楼号</td>
  <td width="39">宿舍</td>
  <td width="39">来访日期</td>
  <td width="39">来访时间</td>
  <td width="126">完成</td>
  <td width="18">&nbsp;</td>
  </tr>
  <%

dim yn
yn=0
'Lei="行业资讯" '设置显示信息类别
set rs=server.CreateObject("adodb.Recordset")
sql="Select * from laifang where lyn=0 order by id "
rs.open sql,conn1,1,1
if rs.eof then '判断数据库内有无信息,防止读取错误
 response.write "<script>alert('暂无记录');history.back();</script>"
 response.end  
else 
do while not rs.eof
%>
  <tr>
  <td align="center"><%=rs("id")%></td>
  <td align="center"><%=rs("lname")%></td>
  <td align="center"><%=rs("lid")%></td>
  <td align="center"><%=rs("lsname")%></td>
  <td align="center"><%=rs("lfid")%></td>
  <td align="center"><%=rs("ldid")%></td>
  <td align="center"><%=rs("ldate")%></td>
  <td align="center"><%=rs("ltime")%></td>


  <td align="center"><input type="submit" name="del" value="完成"> </td>
  <td align="center">&nbsp;</td>
  <%
  rs.movenext()
  loop
  end if
  %>
  
  </tr>
  </table>
</form>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>
 
   
</p>
</body>
</html>

作者: zhenghao986567555   发布时间: 2011-11-23

第二个页面为
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<!--#include file="conn.asp"-->
<title>无标题文档</title>
</head>

<body>

  <% 
dim id1
  id1=Request.querystring("id")

  sql="select * from laifang where id=id1"
  set rs1=server.createobject("adodb.recordset")  
  rs1.open sql,conn1,1,3  
rs1("ldate1")=date()
  rs1("ltime1")=time()
rs1("lyn")=1
rs1.update
rs1.close 
response.write"<script>alert('结束来访纪录成功');history.back(); </script>"  
conn1.close

%>
 
</body>
</html>

作者: zhenghao986567555   发布时间: 2011-11-23

<form action="editlaifang.asp?id=<%=id%>" method="post" name="form1" >
你这里的<%=id%>是哪里来的?如果是下面查询的那这个<%=id%>是不会有值得

你必须在你的表单上面查询才可以显示 而且你的表单还是循环显示的 我帮你改了一下 参考:
<%

dim yn
yn=0
'Lei="行业资讯" '设置显示信息类别
set rs=server.CreateObject("adodb.Recordset")
sql="Select * from laifang where lyn=0 order by id "
rs.open sql,conn1,1,1
if rs.eof then '判断数据库内有无信息,防止读取错误
 response.write "<script>alert('暂无记录');history.back();</script>"
 response.end 
else  
%>
  <table width="780" height="51" border="1" cellpadding="0" cellspacing="0">
  <tr>
  <td width="39">编号</td>
  <td width="39">访客姓名</td>
  <td width="39">证件</td>
  <td width="39">学生姓名</td>
  <td width="39">楼号</td>
  <td width="39">宿舍</td>
  <td width="39">来访日期</td>
  <td width="39">来访时间</td>
  <td width="126">完成</td>
  <td width="18">&nbsp;</td>
  </tr>
<%
do while not rs.eof
%>
<form action="editlaifang.asp?id=<%=id%>" method="post" name="form1" >
  <tr>
  <td align="center"><%=rs("id")%></td>
  <td align="center"><%=rs("lname")%></td>
  <td align="center"><%=rs("lid")%></td>
  <td align="center"><%=rs("lsname")%></td>
  <td align="center"><%=rs("lfid")%></td>
  <td align="center"><%=rs("ldid")%></td>
  <td align="center"><%=rs("ldate")%></td>
  <td align="center"><%=rs("ltime")%></td>


  <td align="center"><input type="submit" name="del" value="完成"> </td>
  <td align="center">&nbsp;</td>
</form>
  <%
  rs.movenext()
  loop
  end if
  %>
   
  </tr>
  </table>

作者: hefeng_aspnet   发布时间: 2011-11-23

还是一样的错误啊,我是希望点击完成按钮,然后传递对应同一行的id

作者: zhenghao986567555   发布时间: 2011-11-23

你循环数据时候判断 一条记录换一行 那样通过按钮提交

在第二页接收 request.QueryString("id")

你都没有判断 提交的是一个表单肯定报错

作者: hefeng_aspnet   发布时间: 2011-11-23