如题,我的做法是:确认框提示,再根据确认框返回的结果判断,代码如下:
<%
dim conn,sql
set conn = server.createobject("adodb.connection")
sql = "driver={sql server};server=(local);uid=sa;pwd=tong0yu;database=information;"
conn.open(sql)dim del_inf,del_id,del_open
set del_inf = server.createobject("adodb.recordset")
del_id = request.querystring("p_id")
del_open = "delete from applyInf where p_id=" & del_id
%>
<script type="text/javascript">
var del_sure
del_sure = confirm("确认删除信息?")
if(del_sure == false){
window.location.href = "save.asp";
}
else if(del_sure == true){
<%conn.execute(del_open)%>
alert("信息已删除");
window.location.href = "save.asp";
}
</script>
可是,这样的结果不论点确定或者取消,都会删除记录,各位有什么好的解决办法没有
<%
dim conn,sql
set conn = server.createobject("adodb.connection")
sql = "driver={sql server};server=(local);uid=sa;pwd=tong0yu;database=information;"
conn.open(sql)dim del_inf,del_id,del_open
set del_inf = server.createobject("adodb.recordset")
del_id = request.querystring("p_id")
del_open = "delete from applyInf where p_id=" & del_id
%>
<script type="text/javascript">
var del_sure
del_sure = confirm("确认删除信息?")
if(del_sure == false){
window.location.href = "save.asp";
}
else if(del_sure == true){
<%conn.execute(del_open)%>
alert("信息已删除");
window.location.href = "save.asp";
}
</script>
可是,这样的结果不论点确定或者取消,都会删除记录,各位有什么好的解决办法没有
很明显,楼主javascript语法不熟悉吧,不是要求要";"结尾的!!!<script type="text/javascript">
var del_sure;
del_sure = confirm("确认删除信息?");
if (del_sure == false) {
alert("test");
//window.location.href = "save.asp";
} else if (del_sure == true) {
alert("信息已删除");
//window.location.href = "save.asp";
}
</script>
dim conn,sql,isdelete
set isdelete = request.querystring("isdelete"); --最好设置默认值为0set conn = server.createobject("adodb.connection")
sql = "driver={sql server};server=(local);uid=sa;pwd=tong0yu;database=information;"
conn.open(sql)
if isdelete == 1
{
dim del_inf,del_id,del_open
set del_inf = server.createobject("adodb.recordset")
del_id = request.querystring("p_id")
del_open = "delete from applyInf where p_id=" & del_id
}
%>
<script type="text/javascript">
var del_sure
del_sure = confirm("确认删除信息?")
if(del_sure == false){
window.location.href = "save.asp?isdelete=0";
}
else if(del_sure == true){
<%conn.execute(del_open)%>
alert("信息已删除");
window.location.href = "save.asp?isdelete=1";
}
</script>
大概是这样,具体的语法不是很清楚。
else if(del_sure == true){
<%conn.execute(del_open)%>
alert("信息已删除");
window.location.href = "save.asp";
}
</script>楼主对asp运行的机制了解有问题,iis是先解释<% %>标记中的内容,把结果返回给iis,iis就负责把内容传送到请求的客户端,你的del_open应该是删除记录的存储过程吧,所以iis在收到你的这个请求后会先去运行这个存储过程,然后返回给你页面也就是说 只要你这个页面加载了,记录就已经被删除了 而不存在yes or no的问题.建议把删除记录之类的sql操作语句(存储过程)单独做一个页面,比如del.asp 然后用户回答yes的时候定位到del.asp,回答no的时候什么都不做
哎 不过算是明白了咋回事
谢谢 猪猪 O(∩_∩)O~
window.location.href = "save.asp?isdelete=0";
window.location.href = "save.asp?isdelete=1";
但是这个地方有问题啊 传递isdelete这个变量有什么用呢?
因为上面的判断条件
if isdelete == 1
在同一个页面,你这样传递的话根本没有意义
下面的代码也无法执行
感觉确实如8楼所说 判断和执行分成两个页面做会比较好
那可以把save.asp换成本页面了。一个道理。
我帖出来的是执行删除的页面,这个页面是由显示信息的页面点击“删除按钮”跳转的
执行完后我希望回到显示信息的页面
可是,你代码中的这句:
set isdelete = request.querystring("isdelete"); --最好设置默认值为0
其中isdelete的值,是由确认框返回的值传递的。也就是说,下面的代码先执行过,上面的判断才有值。并且,上面是asp代码,需要编译。所以,感觉这个地方是矛盾的。
不矛盾啊!你转到这个页面的时候在URL中不可以传一个isdelete=0吗?获取到的是0 也就是不执行删除的代码了。点确认的时候传递一个isdelete=1 就可以执行删除的命令了。同理,点取消传isdelete=0
主要应该还是跟asp需要编译有关
if isdelete == 1
{
dim del_inf,del_id,del_open
set del_inf = server.createobject("adodb.recordset")
del_id = request.querystring("p_id")
del_open = "delete from applyInf where p_id=" & del_id
}
%>
<script type="text/javascript">
var del_sure
del_sure = confirm("确认删除信息?")
if(del_sure == false){
window.location.href = "save.asp?isdelete=0";
}
else if(del_sure == true){
<%conn.execute(del_open)%>上面代码中,你的第一个判断语句,如你所说,当给isdelete传递0时,红色部分的代码会报错的
因为这部分代码需要预先编译的
也就是最后一句代码
{
dim del_inf,del_id,del_open
set del_inf = server.createobject("adodb.recordset")
del_id = request.querystring("p_id")
del_open = "delete from applyInf where p_id=" & del_id
conn.execute(del_open)
}
下面的脚本中的<%conn.execute(del_open)%>就可以去掉了。
不好意思,是我没有看仔细,你的执行语句在脚本的判断语句下面。改成我上面说的那样就可以了。这只是一种实现方式而已,个人处理问题的风格不同而已。
var del_sure
del_sure = confirm("确认删除信息?")
if(del_sure == false){
window.location.href = "save.asp";
}
else if(del_sure == true){
<%conn.execute(del_open)%>
alert("信息已删除");
window.location.href = "save.asp";
}
</script>楼主js脚本不能这<%conn.execute(del_open)%>