模拟confirm窗口

昨天做有个需求,要confirm窗口默认选中取消。不知道有什么简单的方法,就模拟了一个。

说实话现在真不想做这些锁碎的事情,无奈。。。

基本思路就是利用showModalDialog打开模拟的页面,在页面里点击“确定”,“取消”按钮返回不同的值。

然后在父页面中判断返回值。代码没有整理,直接贴出来做个参考。

模拟页面confirm.htm

  1. <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
  2. <html>
  3. <head>
  4. <title></title>
  5. <linkhref="../style/main_login.css"rel="stylesheet"type="text/css"/>
  6. <script>
  7. functionreturnModal(reg){
  8. window.returnValue=reg;
  9. window.close();
  10. }
  11. </script>
  12. </head>
  13. <bodystyle="BACKGROUND=#ECE9D8">
  14. <br>
  15. <imgsrc="../images/confirm.gif"style="vertical-align:middle">
  16. <script>
  17. varmsg=window.dialogArguments;
  18. document.write(msg);
  19. </script><br><br>
  20. <divalign="center">
  21. <inputtype="button"value="确定"onclick="returnModal(1)">
  22. <inputtype="button"value="取消"id="cancle"onclick="returnModal(0)">
  23. </div>
  24. <script>
  25. //虽然延时0秒,但可以保证focus在前面的按钮显示之后执行
  26. vartmptime=window.setTimeout("clear()",0);
  27. functionclear(){
  28. clearTimeout(tmptime);
  29. document.getElementById("cancle").focus();
  30. //document.getElementById("cancle").select();
  31. }
  32. </script>
  33. </body>
  34. </html>

调用的父窗口test.htm

  1. <script>
  2. functionmyconfirm(msg){
  3. varsFeatures="status:0;scroll:0;help:0;edge:raised;dialogHeight:"+8+";dialogWidth:"+16;
  4. varreturnValues=window.showModalDialog("common/confirm.htm",msg,sFeatures);
  5. if(typeofreturnValues=="undefined")returnValues=0;
  6. //alert(returnValues);
  7. returnreturnValues;
  8. }
  9. functiontest(){
  10. if(myconfirm("真的需要删除这条记录吗?"))
  11. alert("ok");
  12. }
  13. </script>
  14. <inputtype="button"onclick="test()"value="test">

你可能感兴趣的:(html,css)