HTML - How to do a Confirmation popup to a Submit button and then send the request?
HtmlDjangoSubmitHtml Problem Overview
I am learning web development using Django
and have some problems in where to put the code taking chage of whether to submit the request in the HTML code
.
Eg. There is webpage containing a form
(a blog) to be filled by the user, and upon click on the Save button,there is a pop up asking whether you want to confirm
or not. If click on confirm
, then the request is sent.
I searched and find this javascript
code.
<script type="text/javascript">
function clicked() {
alert('clicked');
}
<input type="submit" onclick="clicked();" value="Button" />
But I guess this is not the correct function as it seems to me that whenever you click on the Button, the request will be submitted. So How can I delay the submit request until user has confirm the submit?
Html Solutions
Solution 1 - Html
The most compact version:
<input type="submit" onclick="return confirm('Are you sure?')" />
The key thing to note is the return
Because there are many ways to skin a cat, here is another alternate method:
HTML:
<input type="submit" onclick="clicked(event)" />
Javascript:
<script>
function clicked(e)
{
if(!confirm('Are you sure?')) {
e.preventDefault();
}
}
</script>
Solution 2 - Html
I believe you want to use confirm()
<script type="text/javascript">
function clicked() {
if (confirm('Do you want to submit?')) {
yourformelement.submit();
} else {
return false;
}
}
</script>
Solution 3 - Html
Use window.confirm()
instead of window.alert()
.
HTML:
<input type="submit" onclick="return clicked();" value="Button" />
JavaScript:
function clicked() {
return confirm('clicked');
}
Solution 4 - Html
<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">
Solution 5 - Html
For a Django form, you can add the confirmation dialog inside the form tag:
<form action="{% url 'delete' %}" method="POST" onsubmit="return confirm ('Are you sure?')">
Solution 6 - Html
Another option that you can use is:
onclick="if(confirm('Do you have sure ?')){}else{return false;};"
using this function on submit button you will get what you expect.