65

我正在学习使用 Web 开发,Django并且在将代码放置在何处以决定是否在HTML code.

例如。有一个网页包含一个form由用户填写的(博客),点击保存按钮后,会弹出一个询问您是否要填写的窗口confirm。如果单击confirm,则发送请求。

我搜索并找到了这段javascript代码。

<script type="text/javascript">
function clicked() {
    alert('clicked');
}

<input type="submit" onclick="clicked();" value="Button" />

但我想这不是正确的功能,因为在我看来,每当您单击按钮时,都会提交请求。那么如何在用户确认提交之前延迟提交请求?

4

6 回答 6

201

最紧凑的版本:

<input type="submit" onclick="return confirm('Are you sure?')" />

需要注意的关键是return

-

因为给猫剥皮的方法有很多,这里有另一种替代方法:

HTML:

<input type="submit" onclick="clicked(event)" />

Javascript:

<script>
function clicked(e)
{
    if(!confirm('Are you sure?')) {
        e.preventDefault();
    }
}
</script>
于 2013-05-31T03:14:37.027 回答
37

我相信你想使用 confirm()

<script type="text/javascript">
    function clicked() {
       if (confirm('Do you want to submit?')) {
           yourformelement.submit();
       } else {
           return false;
       }
    }

</script>
于 2013-05-31T03:10:44.940 回答
6

使用window.confirm()而不是window.alert().

HTML:

<input type="submit" onclick="return clicked();" value="Button" />

JavaScript:

function clicked() {
    return confirm('clicked');
}
于 2013-05-31T03:06:16.093 回答
3
<script type='text/javascript'>

function foo() {


var user_choice = window.confirm('Would you like to continue?');


if(user_choice==true) {


window.location='your url';  // you can also use element.submit() if your input type='submit' 


} else {


return false;


}
}

</script>

<input type="button" onClick="foo()" value="save">
于 2013-05-31T07:15:51.910 回答
1

您可以使用的另一个选项是:

onclick="if(confirm('Do you have sure ?')){}else{return false;};"

在提交按钮上使用此功能,您将得到您所期望的。

于 2019-05-13T22:09:58.977 回答
1

对于 Django 表单,您可以在表单标签内添加确认对话框:

<form action="{% url 'delete' %}" method="POST" onsubmit="return confirm ('Are you sure?')">
于 2021-05-06T14:54:58.143 回答