返回确认(“确认这个”)不起作用。

问题描述:

我已经阅读了关于这个主题的每篇文章,我可以在这里找到,而我只是没有看到我做错了什么。返回确认(“确认这个”)不起作用。

CODE:

<?php 

// This is a test of a confirm dialog. 

if(isset($_POST['delete'])){ 
    echo "Delete something"; 
} 

?> 

<html> 
<head> 
    <title>Confirm Test</title> 
</head> 
<body> 

    <form method="post"> 
     <input type="submit" name="delete" value="Delete" onclick="return confirm('Are you sure you want to do delete item?')"> 
    </form> 

</body> 
</html> 

现在这个简单的测试工作,但在我的网页没有。奇怪的是,它在网站和页面结构看起来没有任何区别。当输入按钮被按下时,没有确认对话框出现,页面刚刚重新加载。

不工作的页面当然更复杂,那么以上是什么,但它基本上是相同的。上面的代码大部分都是从中删除的。如果我将测试代码剪切并粘贴到页面主体中,它将不再像测试中那样工作。没有对话被提出。

难以回答的问题我知道,但正确的方向知道我可以测试和寻找的一个点将是伟大的。

+0

这也是一个不错的主意_not_使用内嵌的JavaScript。相反,将其抽象为可应用于_any_元素的函数。 –

+0

...如http://*.com/a/18193924/1094772 – rybo111

+0

我也试过,也没有运气,只是不叫它。 –

您正在使用js的onclick事件,这不会影响表单提交。您需要使用onsubmit事件停止表单提交。

编辑

<script> 
    function validate(){ 
return confirm('Are you sure?'); 
} 
</script> 

将它添加到形成为:

<form method="post" action="file.php" onsubmit="return validate();" > 
+0

这也行不通。没有提供对话框。 –

+0

我的部分错别字,它的作品,但我有两个按钮不只是一个。这两个都被称为。有没有办法解决这个问题? –

+0

我一直试图解决这个问题,但他们要求我使用onclick事件来设置一个变量,但它并没有被解雇。 –