2011-02-10 38 views
21

我有此鏈接:上按下按鈕確認JavaScript警告框

<p id="accept-favor"><a title="Accept this Favor" href="?wp_accept_favor=<?php comment_ID(); ?>">Accept this Favor</a></p>

我想說明一個JavaScript警告框,當用戶點擊它說:「你確定你想接受這個答覆作爲你的青睞?「用兩個按鈕之一說「是」,這將允許該功能運行,另一個說「否」,這將只是取消回發並保持用戶在頁面上。

我該怎麼做?謝謝:)

+4

`的onclick = 「返回確認(this.innerText + '?');」 – 2011-02-10 01:35:19

回答

31

您可以輕鬆地與確認的onclick做到這一點:

<p id="accept-favor"><a title="Accept this Favor" 
    href="?wp_accept_favor=<?php comment_ID(); ?>" 
    onclick="return confirm('Are you sure you would like to accept this reply as your favor?');" 
    >Accept this Favor</a></p> 

雖然這會說確定/取消,而不是是/否。如果您確實需要「是/否」,則必須使用自定義對話框。

+0

你缺少一個右括號`。 onClick代碼應該是`onclick =「return confirm('你確定你想接受這個答覆作爲你的青睞嗎?');」` – TMC 2012-01-13 08:02:48

12

你可以寫onclick="return confirm('Are you sure?');"

confirm function顯示確定/取消對話框,如果用戶單擊確定,則返回true
return ing false from onclick handler將取消點擊的默認動作。

1

至於其他的答案談論直接的onclick,我想提出一個解決方案,使用addEventListenerpreventDefault方法「更好」(IMO =在我看來)版本。因爲這樣你可以綁定更多點擊處理程序。

HTML

<a href="#" id="confirmClickActionElementId">click me</a> 

的JavaScript

document 
    .getElementById("confirmClickActionElementId") 
    .addEventListener("click", function(e){ //e => event 
     if(! confirm("Do you really want to do this?")){ 
      e.preventDefault(); // ! => don't want to do this 
     } else { 
      //want to do this! => maybe do something about it? 
      alert('Ok, lets do this!'); 
     } 
    }); 

小提琴:http://jsfiddle.net/ouyf86ya/

...或舊的 「return」 的方式:

document 
    .getElementById("confirmClickActionElementId") 
    .addEventListener("click", function(){ 
     return confirm("Do you really want to do this?") ; 
    }); 

小提琴:http://jsfiddle.net/y2jLpkbb/

6

您可以使用此功能:

myFunction() { 
    var x; 
    if (confirm("Are you sure?") == true) { 
     x = "You pressed OK!"; 
    } else { 
     x = "You pressed Cancel!"; 
    } 
    return x; 
} 
myFunction();