在表单中的action中能传递值吗?
在表单中能传递值吗?如 <form action= "xx.asp?id= <%=rs( "id ")%> " method= "post "> ,我觉得应该是可以的,但在处理页面(xx.asp)中怎么好象得不到传递的字段?请看下面的两个页面:
表单页面:
<%
dim rs,sql
set rs=server.CreateObject( "adodb.recordset ")
sql= "select * from admin where id= "&request.QueryString( "id ")
rs.open sql,conn,1,1
%>
<form action= "saveEditAdmin.asp?name= <%=rs( "name ")%> " name= "form1 ">
<table width= "500 " border= "0 " cellspacing= "1 " cellpadding= "0 " bgcolor= "#99CCFF ">
<tr class= "kind ">
<td colspan= "2 " align= "center "> 修改后台用户 </td>
</tr>
<tr class= "kind ">
<td width= "150 " align= "center "> 用户名 </td>
<td width= "343 " align= "left "> <input name= "user " type= "text " size= "20 " maxlength= "50 " value= " <%=rs( "name ")%> "> </td>
</tr>
<tr class= "kind ">
<td align= "center "> 密 码 </td>
<td align= "left "> <input name= "pwd " type= "password " size= "20 " maxlength= "50 " value= " <%=rs( "pwd ")%> "> </td>
</tr>
<tr class= "kind ">
<td align= "center "> 用户级别 </td>
<td align= "left "> <select name= "jb ">
<option value= "1 " <%if rs( "jb ")=1 then response.write "selected " end if%> > 管理员 </option>
<option value= "2 " <%if rs( "jb ")=2 then response.write "selected " end if%> > 信息采编员 </option>
<option value= "3 " <%if rs( "jb ")=3 then response.write "selected " end if%> > 收费会员 </option>
<option value= "4 " <%if rs( "jb ")=4 then response.write "selected " end if%> > 免费会员 </option>
</select> </td>
</tr>
<tr class= "kind ">
<td colspan= "2 " align= "center ">
<input type= "submit " value= "保存 ">
<input type= "reset " value= "重填 "> </td>
</tr>
</table>
</form>
<%rs.close
set rs=nothing
conn.close
set rs=nothing%>
处理页面:
<%
dim rs,sql
set rs=server.CreateObject( "adodb.recordset ")
sql= "select * from admin where name= ' "&(request.QueryString( "name "))& " ' "
rs.open sql,conn,1,3
rs( "name ")=request.form( "user ")(提示出错行)
rs( "pwd ")=request.form( "pwd ")
rs( "jb ")=request.form( "jb ")
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
response.Write " <script> alert( '成功修改该用户信息! ');location= 'userManage.asp '; </script> "
%>
提示错误如下:
ADODB.Recordset (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/xj/admin/saveEditAdmin.asp, 第6行
[解决办法]
抱歉,写错了一点,重发一遍
<form action= "saveEditAdmin.asp?name= <%=rs( "name ")%> " name= "form1 ">
改为
<form action= "saveEditAdmin.asp?name= <%=Server。urlencode(rs( "name "))%> " name= "form1 ">
如果不编码有的字符将不能被正确的获取到
希望对你有帮助
--------------------------------
silverlight中文社区
www.silverlight.cn
--------------------------------
[解决办法]
补充:
文件1:
companyid = Request( "companyid ")
<form name= "frm " action= "diaocha.asp?companyid= <%=companyid%> " method= "post ">
在diaocha.asp里用
dim companyid
companyid = Request( "companyid ")
Set rs = Server.CreateObject( "ADODB.Recordset ")
str= "select * from company where companyid=N ' "& companyid & " ' "
rs.open str,conn,1,3
没有问题
[解决办法]
<form action= "saveEditAdmin.asp?name= <%=rs( "name ")%> " name= "form1 " 这里少了method= "post ">