确认功能不起作用

时间:2011-10-21 03:10:37

标签: javascript html function confirm

*<html>
<head>
<title>practise</title>
<script type="text/javascript">
function confirm() {
    var r = confirm("Press the button");
    if (r == true) {
        alert("You are right");
    } else {
        alert("You are wrong");
    }
}

</script>
</head>

<body>
        <input type="button" name="submit" value="showtime" onclick="confirm()"/>
    </div>
</body>
</html>*

我想知道问题是什么。它不起作用,但与http://www.w3schools.com/js/js_popup.asp

中的相同

5 个答案:

答案 0 :(得分:7)

  1. 您递归调用confirm()并且它处于无限循环
  2. 您在文档的开头和结尾处有*
  3. 正如肯尼贝克指出的那样,你正在覆盖window.confirm
  4. </div>
  5. 中有一个挂端<body>

    http://jsfiddle.net/cvyyL/

    <html>
       <head>
          <title>practise</title>
          <script type="text/javascript">
             function show_confirm() {
                var r = confirm("Press the button");
                if (r == true) {
                   alert("You are right");
                } else {
                   alert("You are wrong");
                }
             }    
          </script>
       </head>
       <body>
          <input type="button" name="submit" value="showtime" onclick="show_confirm()"/>
       </body>
    </html>
    

答案 1 :(得分:2)

首先,你覆盖了window.confirm ... 然后你永远称之为新的确认 或者直到有太多的递归...

答案 2 :(得分:2)

您的函数与内置window.confirm()函数同名,因此您的函数正在替换该函数。然后在你的函数中调用confirm(),这意味着它递归调用自身。

如果您只是将函数重命名为其他内容,它应该可以正常工作。 (例如,你链接到的w3schools页面调用它的函数'show_confirm'。)

答案 3 :(得分:1)

如果您尝试使用它来阻止提交,则需要从confirm()函数返回值,并在onclick处理程序中返回那个值。

IMO将你的功能命名为“确认”是一个非常糟糕的主意,因为已经存在一种称为“确认”的方法,你可以直到浏览器融化为止。

此外,说“不起作用”,不说它做了什么以及你期望它做什么,使回答问题变得困难。

答案 4 :(得分:0)

confirm()是javascript中的预定义函数,因此您无法将其用作其中一个函数的名称。这是一个错误,重命名该功能,它将正常工作。

同时从开头和结尾删除*