I want to have a confirmation from the user before they submit a form. This will prevent accidental POSTing of the form, that may be incomplete or incorrect.
Here is my
I would do an onclick returning false by default, this works for me
<form action="manager.php?method=update&id=<?php echo $user->id;?>" method="POST" id="user_update">
<input type='submit' onclick="return confirm('Do you wish to update details?');return false;"/>
</form>
First of all you should reconsider your approach. Instead of asking whether the user wants to submit a potentially incomplete or invalid form, you should use javascript to prevent this from happening, i.e. perform client-side validation using js. What you are doing is inherently done by clicking submit...
If however you want to keep your approach, you have to prevent the submit button from actually submitting the data to the specified action, e.g by changing the form action to "#" via javascript and then trigger the submit if ok was clicked with your js-code, e.g. by using a XmlHttpRequest.
You're doing it the other way round!
if(confirm("Do you wish to update details?"))
{
return 1;
}
else
{
return 0;
}
Having said that, your code can be shortened to just one line:
return confirm("Hit OK to continue, Cancel to... cancel.");
Instead of returning 0 and 1, return true
and false
. You can actually shorten the function to:
function confirm_update() {
return confirm("Are you sure you want to submit?");
}
Try:
function confirm_update() {
if(confirm("Do you wish to update details?")) {
return true;
}
else {
return false;
}
}