首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

在表单中的action中能传递值吗?解决思路

2012-03-04 
在表单中的action中能传递值吗?在表单中能传递值吗?如 formaction xx.asp?id %rs( id )%method

在表单中的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 "> 密&nbsp;&nbsp;码 </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= "保存 ">
    &nbsp;&nbsp; <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 ">

热点排行