Question

I have a delete button that is tied to some comments on a page i have. When you click the delete button i am trying to get a confirm dialog box to pop up asking if you are sure you want to delete the comment. Clicking OK should run the function to delete the comment and clicking cancel should not run the function but simply close the dialog box.

This is my code:

onclick="confirm('Are you sure that you want to delete this comment?'); commentDelete(1);"

My problem: When i click cancel the delete function still runs. My guess is that the function is still getting called because when i click cancel it just is stepping forward in the JavaScript and calling the function. How can i accomplish this correctly? I know this is probably a simple problem. Thanks for any help!

Was it helpful?

Solution

onclick="if (confirm('Are you...?')) commentDelete(1); return false"

You are missing an if. In your version, first you get a question, and then regardless of the answer, you call commentDelete.

OTHER TIPS

in the head tag you can write following code

function getConfirmation()
{
    var retVal = confirm("Do you want to continue ?");
    if (retVal == true)
    {
        alert("User wants to continue!");
        return true;
    } 
    else
    {
        alert("User does not want to continue!");
        return false;
    }
}

**

After writing this code you can call this function in the following code

 <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"

CommandName="Edit" Text="Edit" OnClientClick="getConfirmation()">

You are treating the confirm is if it is a if statement, it just returns a Boolean true or false.

if(confirm('foo')){ alert('bar'); }
function confirmCancel(){
   var msj='Are you sure that you want to delete this comment?';
   if (!confirm(msj)) { 
      return false;
   } else {
      window.location='backcables.php';
   }
}

You should return false to prevent the default event. This should work:

onclick="confirm('Are you sure that you want to delete this comment?'); commentDelete(1);return false;"

May this help someone.

var result = confirm("Are you sure");
return !!result;

Maybe it's because you set the type=submit in the form that contains the javascript.

You should set it to button or image or whatever if you don't want to be submitted if clicked cancel

<form name="form_name">
    <input type="button" onclick="javascript_prompt()" value="GO"/>
    <input type="hidden" name="new_name" value=""/>
</form>

example of javascript prompt:

function javascript_prompt(){
    var name = prompt("Tell me your name.", "");
    if (name != "" && name != null){
        document.form_name.new_name.value = name;
        document.form_name.submit();
    }else{
        return false;
    }
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top