JavaScript confirm cancel button not stopping Java

2019-02-03 09:35发布

问题:

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!

回答1:

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.



回答2:

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'); }


回答3:

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()">



回答4:

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


回答5:

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;"


回答6:

May this help someone.

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


回答7:

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;
    }
}