JavaScript confirm cancel button not stopping Java

2019-02-03 09:07发布

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!

7条回答
戒情不戒烟
2楼-- · 2019-02-03 09:40

May this help someone.

var result = confirm("Are you sure");
return !!result;
查看更多
做个烂人
3楼-- · 2019-02-03 09:50

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;"
查看更多
唯我独甜
4楼-- · 2019-02-03 09:51
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.

查看更多
太酷不给撩
5楼-- · 2019-02-03 09:52

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

查看更多
你好瞎i
6楼-- · 2019-02-03 09:53
function confirmCancel(){
   var msj='Are you sure that you want to delete this comment?';
   if (!confirm(msj)) { 
      return false;
   } else {
      window.location='backcables.php';
   }
}
查看更多
地球回转人心会变
7楼-- · 2019-02-03 09:56

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;
    }
}
查看更多
登录 后发表回答