在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变量
请不要这样子写!!!!