-
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(" ");
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);\"> \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








评论