• 2006年07月13日

    jsp删除留言弹出提示框 - [技术同盟]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://butoo.blogbus.com/logs/3850501.html

    每条留言的显示都是封装在了bean中,已表格的形式在浏览器上显示出来。每条留言的表格中有删除,回复,审核等等链接。点击每个链接就会执行相应的动作。但在执行动作前我想弹出一个让用户确认的对话框,用户点击确定则执行相应动作,点击取消则什么都不做。弹出一个确认窗口不难,但是我还是碰到了一个问题。
    一开始我的方法是在bean中写一个函数OutWarning(String s),专门用于弹出确认对话框,其中的参数用户可以在前台指定,比如s="确认删除当前留言?" 。在函数OutWanning(String s)中我写了一个提交表单,主要的目的就是为了获取用户的当前输入,即要确定用户点击的是哪个按钮(确定,取消)。
     public String OutWarn(String s){
        try{
      StringBuffer sb = new StringBuffer(); 
      sb.append("<br><br><form name=\"form1\" method=\"post\" action=\"\">\r\n");
      sb.append("<table border=\"1\" align=\"center\" cellpadding=\"1\" cellspacing=\"2\">\r\n");
      sb.append("<tr><td width=\"400\" height=\"80\" align=\"middle\" valign=\"top\">\r\n");
      sb.append("<div align=\"left\" class=\"info1\">系统警告:<br><br>\r\n");
      sb.append("&nbsp;&nbsp;&nbsp;&nbsp;");
      sb.append(s);
      sb.append("</div></td></tr>\r\n");
      sb.append("<tr><td height=\"20\" align=\"middle\" valign=\"top\"><div align=\"center\">\r\n");
      sb.append("<input name=\"Submit\" type=\"button\" class=\"button\" value=\"取消\" onClick=\"javascript:history.go(-1);\">&nbsp;&nbsp;\r\n");
      sb.append("<input name=\"OK\" type=\"hidden\" id=\"OK\" value=\"Yes\">\r\n");
      sb.append("<input name=\"Submit2\" type=\"submit\" class=\"button\" value=\"确定\">\r\n");
      sb.append("</div></td>\r\n");
      sb.append("</tr></table></form>\r\n");
      return sb.toString();
     }catch(Exception e){
      return "操作出错!";
         }
        }
    在前台调用的情况如下:
     if (Action.equals("Del"))//获取当前动作
     {
      String warn = "确认删除当前留言?";//用户指定确认信息
      if (request.getParameter("OK") != null && request.getParameter("OK").equals("Yes"))//获取获取用户的当前输入
      {
       String MessageID = request.getParameter("MessageID");
       if (Mes.DelMessage(MessageID,AdminName,IP,false)) {
        out.print("<script>alert('删除当前留言成功!');</script>");
        out.print("<meta http-equiv=refresh content=0.5;url=Admin_Message.jsp?Validate=false>");
       }else {
        out.print(Sys.OutError("删除当前留言出错!"));
        return;
       }
      } 
      else out.print(Sys.OutWarning(warn)); 
     }
    按照这种方法,当前留言能删除。但是弹出的确认框不是在所有窗口的最前面,用户可以在原来的窗口做其他的事情。
    第二种方法:
    在用bean写的读留言的函数中对“删除”这个链接作了一些改动。以前“删除”这个链接只是简单的链接了一个地址,而现在的方法是把确认框放在了“删除”这个链接之中,当用户点击删除,会弹出确认框,并且窗口的最前面,等待用户点击确认还是取消。当用户点击确认则执行删除动作,点击取消则什么都不做,达到了预期的效果。

    sb.append("<script language=JavaScript>function Confirm_" + MessageID +"(){if(confirm('确认删除当前留言吗?')){window.location.href=\"Admin_Message.jsp?Validate=false&Action=Del&ID=");             
                            sb.append(MessageID);
                            sb.append("\"}}</script>");
                            sb.append("[<a href=# onClick=Confirm_" + MessageID +"()>");
                            sb.append("删除</a>]");


    历史上的今天:


    收藏到:Del.icio.us




    评论

  • 太复杂了,小弟不才,还是看不懂,我要的是在Jsp中当用户点击删除时弹出消息框提示用户是否要删除,请帮忙! 谢谢!!!!!!!!!!!