您的位置:首页 > Web前端 > JavaScript

PHP学习笔记 2009-8-22 用JavaScript实现删除确认

2009-08-22 21:18 471 查看
PHP学习笔记
2009-8-22
 
主题:用JavaScript实现删除确认
 
1 要点
1.1 记事分类的删除确认
QQ邮箱记事本里记事可以分类,对分类进行管理的时候有删除、重命名和清空功能。但想要删除某个分类必须先清空这个分类,也就是删除这个分类所属的所有记事。所以“删除确认”应该包含两个功能:
(1)如果该分类还有记事,则提示用户“请先清空该分类!”
(2)如果该分类已被清空,则弹出对话框询问用户是否真的要删除该分类,用户点击“确定”则删除,否则不删除并停留在当前页面
 
1.2 JavaScript实现
1.2.1 anchor标签
Html中的anchor标签用于实现超链接(anchor有“锚”的意思),这里要使用的是它的href和onclick两个属性,href属性指明该超链接的目标URL,onclick属性则指明点击该超链接时的处理代码。
 
1.2.2 js的实现
1.2.2.1 作为一种好习惯,最好用一个函数调用作为事件处理属性的值。我把这个功能写在了函数confirmCateDel()中,它只有一个参数——noteCnt,它指明属于该分类的记事的数目。
 
1.2.2.2 使用js的alert()函数显示警告窗口,它的参数就是想要显示给用户的提示信息,窗口只带一个“确定”按钮。
 
1.2.2.3 使用js的confirm()函数显示确认窗口,它的参数就是显示给用户的确认信息,窗口带一个“确认”和一个“取消”按钮。如果用户点击“确认”,函数返回“true”,点击“取消”则返回“false”。
 
1.2.2.4 这里的关键问题是这个函数的返回值以及该怎么调用它
(1)首先函数需要返回“true”或“false”(注意这里应该用小写,我用大写结果无效),以表明用户到底是决定转到超链接指定的目标URL,还是停留在当前页面(即取消跳转)。
(2)其次,在onclick属性里调用该函数时必须使用return语句,即“return confirmCateDel()”,因为该函数的返回值“必须传递到调用事件处理器的地方”(这句话是我引用的,老实说我还不太理解),不使用return的话就算点击“取消”指定分类还是会被删除。
 
2 源代码
2.1 超链接
echo "<a href=/"myNote.php?do=category&action=del&cateid=".$row -> CateID."/" onclick=/"return confirmCateDel(".$noteCnt.");/">删除</a>/n";
说明:由于需要访问数据库,所以我使用PHP的echo函数来输出这个超链接标签,$row -> CateID是访问数据库取得的该分类的ID,用$_GET[‘cateid’]把它传递到目标页面,$noteCnt是访问数据库取得的该分类的记事的数目。
 
2.2 js函数confirmNoteCnt(noteCnt)
<script language="javascript">
              <!--
              function confirmCateDel(noteCnt)
              {
                     if(noteCnt != 0)
                     {
                            alert("请先清空该分类!");
                            return false;
                     }
                     else
                     {
                            return confirm("您确定要删除该分类吗?");
                     }
              }
              -->
       </script>
 
3 总结
今天应该算是正式接触JavaScript,写了个函数,但是不知道这个功能可不可以用PHP实现。另一个很火的技术应用AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)就包含JavaScript,以后要接触一下XML才行。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息