日期:2010-04-12  浏览次数:20938 次

  我们都知道UD的删除记录方法,它需要用一个新的页面来确认,如果把删除的页面直接做成command的形式(参考我的多项删除教程),又比较草率(往往容易删错记录),下面,小田是用一个弹出式的确认框来实现确认删除,效果如图
 

  接下来让我们开始吧!
  1、首先当然要有一个你想要删除的内容啦(怎么连数据库,怎么循环请去参考其他基础教程,这里就不多讲了),并且做好循环,如图

  2、要实现确认框,当然要用到JavaScript啦,下面是这段代码:
代码:
--------------------------------------------------------------------------------
<script language="JavaScript">
function Confirmer()
{
if (confirm("请确定要删除此分类(确认删除的内容),以及与此分类相关的内容!")){
window.location.href=‘删除页地址';
}
}
</script>
[/code]
  我们把这段代码加到循环记录的表格行中(一定要在行里,为什么?等会就知道了),效果如图

  3、修改代码。接下来我们要把代码的内容换成我们记录的动态内容,看:
“确认删除的内容”替换成“<%=(rsLinkType.Fields.Item("LT_Name").Value)%>”(这是你自己的要确认的内容)
“删除页地址”替换成用了Go TO Detail Page “删除”的超链接,我这里是“LT_del.asp?<%= MM_keepNone & MM_joinChar(MM_keepNone) & "ID_LinkType=" & rsLinkType.Fields.Item("ID_LinkType").Value %>”
  那么,现在的代码内容就变成下面这样的了:
  以下内容为程序代码:
<script language="JavaScript">
function Confirmer()
{
if (confirm("请确定要删除此分类(<%=(rsLinkType.Fields.Item("LT_Name").Value)%>),以及与此分类相关的内容!")){
window.location.href='LT_del.asp?<%= MM_keepNone & MM_joinChar(MM_keepNone) & "ID_LinkType=" & rsLinkType.Fields.Item("ID_LinkType").Value %>';
}
}
</script>
  然后要在原先“删除”的链接里加上“”,如下:
  以下内容为程序代码:<A HREF="#" >删除</A>
  4、接下来是最关键的一步。我们现在可以试着浏览一下页面,呃!!怎么确认的内容和点击要删除的内容都不符合?呵,小田可不敢骗大家,不然一定鼻青脸肿^_^!其实原因很简单,因为我们在点击链接的时候,就调用了这个Confirmer()函数,但是在重复记录显示的时候,我们调用的函数就都一样了,程序就不知道调哪一个啦!所以确认的内容就不符合了。知道了原因就好办了!不知道大家有没有注意UD产生的记录循环代码
  以下内容为程序代码:
<%
While ((Repeat1__numRows <> 0) AND (NOT rsLinkType.EOF))
%>
循环内容......
......
......
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
rsLinkType.MoveNext()
Wend
%>
  我们看这里的变量“Repeat1__index”,这是做循环条数的标识,我们就是要用它把每次调用的函数区别开来。在函数名的后面加上它吧,看:
  以下内容为程序代码:
<script language="JavaScript">
function Confirmer<%=Repeat1__index%>()
{
if (confirm("请确定要删除此分类(<%=(rsLinkType.Fields.Item("LT_Name").Value)%>),以及与此分类相关的内容!")){
window.location.href='LT_del.asp?<%= MM_keepNone & MM_joinChar(MM_keepNone) & "ID_LinkType=" & rsLinkType.Fields.Item("ID_LinkType").Value %>';
}
}
</script>
  当然,调用的地方也要改:
  以下内容为程序代码:<A HREF="#" >删除</A>改成
<A HREF="#" >删除</A>
  现在在试试,看看是不是已经一一对应了?
  5、最后一步。传递参数(这里是ID_LinkType)到删除激烈页TL_del.asp,怎么用command做删除请参考我的“多项删除教程”(可以搜以前的帖,也可以在资源里找)
  教程就写到这里了,有什么问题就回帖吧!其实我们学UD和ASP的同时,应该多尝试结合些JavaScript和Html,因为ASP就是一种和Html结合最密切的语言,我们要好好利用!