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

在ASP页面上的表示删除的复选框,点中提交后却未执行删除操作。该如何解决

2012-03-02 
在ASP页面上的表示删除的复选框,点中提交后却未执行删除操作。.......打开数据库的代码就不写上来了.....ht

在ASP页面上的表示删除的复选框,点中提交后却未执行删除操作。
.......打开数据库的代码就不写上来了.....html.....>
<%
dim   mi
dim   gqfla
dim   meth
dim   chb()
meth=request.QueryString( "meth ")
if   (meth= "del ")   and   request.form( "checkb ") <> " "   then
  response.write       " <script       language=javascript>       if(!confirm( '你确定要删除吗? '))       "& "           history.back(0)     </script> "      
  chb=split(request.form( "checkb "), ", ")

  for   each   box   in   chb------------------------------这里没有执行到,为何?
  response.write   "chb的值依次是: "&box
  cn.execute     "delete   *   from   gqinfo   where     infoid= "&box      
  next
elseif   (meth= "del ")   and   (request.form( "checkb ")= " ")   then
  response.write       " <script       language=javascript> alert( '请选择要删除的信息行! ');history.back(0) </script> "      
 
end   if
mi=request.QueryString( "id ")
sq= "select   *   from   gqinfo   where   infomaster= ' "&mi& " '   order   by   date   desc,infoid   desc "
set   rd=cn.execute(sq)

response.write " <form   name= 'form1 '   method=post   action=masgq.asp?meth=del&id=mi> <table   width= '100% '> "
response.write " <tr> <td   width= '2% '   height=6> </td> <td   width= '19% '> <div   align= 'center '> 发布日期 </div> </td> <td   width= '15% '> <div   align= 'center '> 信息类型 </div> </td> <td   width= '48% '> <div   align= 'center '> 信息标题 </div> </td> <td   width= '16% '> <div   align= 'center '> 是否删除 </div> </td> </tr> "
response.write " <TR> <TD   background=images/line.gif   colSpan=5     height=2> </TD> </TR> "

do   while   not   rd.eof
if   rd( "gqflag ")=true   then
    gqfla= "出售 "
    else   gqfla= "求购 "
end   if

response.write " <tr> <TD> · </TD> <TD> "&rd( "date ")& " </td> <td> <div   align= 'center '> [ "&gqfla& "] </div> </td> "
response.write " <td> <A   href= 'gqdetail.asp?id= "&rd( "infoid ")& " '   target=_blank> "&rd( "infotitle ")& " </A> </TD> <td> <div   align= 'center '> <input   type= 'checkbox '   name= 'checkb '   value= "&rd( "infoid ")& "> </div> </td> </TR> "
response.write " <TR> <TD   background=images/point.gif   colSpan=5     height=2> </TD> </TR> "

rd.movenext
loop
response.write " <tr> <td   colSpan=5> <div   align= 'center '> <input   type= 'submit '   name= 'Submit '   value= '提交 '> </div> </td> </tr> "


response.write " </form> </table> "

%>
   
</body>
</html>

[解决办法]
Try----
-------

添加js
<SCRIPT LANGUAGE= "JavaScript ">
function DelInfo(){
if(confirm( "你真的要删除吗? ")) document.form1.submit()
}
</SCRIPT>
<%
dim mi
dim gqfla
dim meth
dim chb()
meth=request.QueryString( "meth ")
if (meth= "del ") and request.form( "checkb ") <> " " Then
'--------------------
'response.write " <script language=javascript> if(!confirm( '你确定要删除吗? ')) "& " history.back(0) </script> "
'---------------
chb=split(request.form( "checkb "), ", ")

for each box in chb------------------------------这里没有执行到,为何?
response.write "chb的值依次是: "&box
cn.execute "delete * from gqinfo where infoid= "&box
next
elseif (meth= "del ") and (request.form( "checkb ")= " ") then
response.write " <script language=javascript> alert( '请选择要删除的信息行! ');history.back(0) </script> "

end if
mi=request.QueryString( "id ")
sq= "select * from gqinfo where infomaster= ' "&mi& " ' order by date desc,infoid desc "
set rd=cn.execute(sq)

response.write " <form name= 'form1 ' method=post action=masgq.asp?meth=del&id=mi> <table width= '100% '> "
response.write " <tr> <td width= '2% ' height=6> </td> <td width= '19% '> <div align= 'center '> 发布日期 </div> </td> <td width= '15% '> <div align= 'center '> 信息类型 </div> </td> <td width= '48% '> <div align= 'center '> 信息标题 </div> </td> <td width= '16% '> <div align= 'center '> 是否删除 </div> </td> </tr> "
response.write " <TR> <TD background=images/line.gif colSpan=5 height=2> </TD> </TR> "

do while not rd.eof
if rd( "gqflag ")=true then
gqfla= "出售 "
else gqfla= "求购 "
end if

response.write " <tr> <TD> · </TD> <TD> "&rd( "date ")& " </td> <td> <div align= 'center '> [ "&gqfla& "] </div> </td> "
response.write " <td> <A href= 'gqdetail.asp?id= "&rd( "infoid ")& " ' target=_blank> "&rd( "infotitle ")& " </A> </TD> <td> <div align= 'center '> <input type= 'checkbox ' name= 'checkb ' value= "&rd( "infoid ")& "> </div> </td> </TR> "
response.write " <TR> <TD background=images/point.gif colSpan=5 height=2> </TD> </TR> "

rd.movenext
loop
response.write " <tr> <td colSpan=5> <div align= 'center '>
------------------------------------------------------
<input type= 'submit ' name= 'Submit ' value= '提交 '>
修改为: <input name= "submit1 " type= 'button ' onclick= "DelInfo() " value= '提交 '>
-------------------------------------------------------
</div> </td> </tr> "


response.write " </form> </table> "

%>
[解决办法]
<%
dim mi
dim gqfla
dim meth
dim chb()
dim i
dim uc,checkb,sql,rs
meth=request.QueryString( "meth ")
if (meth= "del ") and request.form( "checkb ") <> " " then
checkb=request.form( "checkb "))
set rs=server.createobject( "adodb.recordset ")
sql= "select infoid from gqinfo where infoid in ( "&checkb& ") "
rs.open sql,cn,1,1
if rs.recordcount <> 0 then
while not rs.eof
response.write "chb的值依次是: "&rs( "infoid ")& " <br> "
rs.movenext
wend
end if
rs.close
set rs=nothing
sql= "delete * from gqinfo where infoid in ( "&checkb& ") "
cn.execute sql
end if
[解决办法]
加上这个script

<script type= "text/javascript ">
function check(){
return confirm( "真的要删除吗? ");
}
</script>
[解决办法]
if (check) {
if(return confirm( "你真的要删除吗? ")) {return true;}
else{return false;}
}

改为

if(check){
return confirm( "你真的要删除吗? ");
}
[解决办法]
注意:
(1)在接收前页传来的参数时,不要对同一个参数多次用Request.form()函数,因为第一次用的时候可能获取不到参数的真实值。
例:test.asp?tt=1234
1: if Request.form( "tt ") <> " " Then '这里的Request.form( "tt ")将取得值“1234”
2: Response.write Request.form( "tt ") '这里的Request.form( "tt ")将可能将取不得真实值,而得到的是空字符串。
3: end if

(2)对于前页传来的复选框的值,有多种方法进行引用:
1:  直接使用Request.form,将取得以“,”逗号分隔的值
例: 如果前页有三个名称为“tt”的复选框被选中,这三个复选框的值分别为3,5,6的话,Request.form( "tt ") 获取到的值将是“3,5,6”
2: 可以用for each 来获取
例: for each box in tt
response.write tt & " <br> "
next
[解决办法]
if (meth= "del ") and request.form( "checkb ") <> " " then
response.write " <script language=javascript> if(!confirm( '你确定要删除吗? ')) "& " history.back(0) </script> " ]]


=====

这些是客户端的东西 , 最好还是写到客户端吧
[解决办法]
将check()改成
function check()
{
if(!confirm( '确认删除吗? ')) return false;
}

另外你在check()里面存在check变量
请不要这样子写!!!!

热点排行
Bad Request.