2015-05-12 79 views
3

我創建了一個鏈接,它發送一個刪除servlet記錄的請求。我想在javascript的幫助下刪除同一頁面上的記錄之前要求確認消息。問題是我是否點擊是或否刪除記錄。我是否需要在servlet或javascript中進行一些修改,以便在用戶點擊否和頁面時請求不會轉發到servlet?當點擊javascript確認時,停止轉發頁面到servlet

JAVASCRIPT:

function getConfirmation() { 
    var retVal = confirm("Do you want to continue ?"); 
    if (retVal == true) { 

     return true; 
    } else { 

     return false; 
    } 
} 

HTML:

<td> 
    <div align="center"> 
     <a href="DeleteController?op=2&from=allResult&id=<%=one.getId()%>" onclick="getConfirmation();"> 
      Delete 
     </a> 
    </div> 
</td> 

回答

1

在你的錨,的onclick更改爲onclick="return getConfirmation();"

<a onclick="return getConfirmation();" href="DeleteController?op=2&from=allResult&id=<%=one.getId()%>">Delete</a> 

而剛剛返回函數confirm()。它會在OK上返回true並且會發生默認操作;在Cancel它將返回false並阻止操作。

function getConfirmation(){ 
    return confirm("Do you want to continue ?"); 
} 

Demo

3

你應該在你的HTML使用

onclick="return getConfirmation();" 

<td> 
    <div align="center"><a href="DeleteController?op=2&from=allResult&id=<%=one.getId()%>" onclick="return getConfirmation();">Delete</a></div> 
</td> 

如果您想防止在確認框的任何按鈕click上重定向,您應該始終從函數中獲取return false

function getConfirmation() { 
    var retVal = confirm("Do you want to continue ?"); 
    if (retVal) { 
     // Ok, do some processing here 
     // Your code here 
    } 

    // To prevent redirection 
    return false; 
} 
+0

我認爲他所要做的就是停止瀏覽器跟隨鏈接,以防用戶取消確認對話框,在這種情況下,以下方法可以正常工作:function getConfirmation() {return confirm(「你想繼續嗎?」); }' –

+0

@Tushar - 它不工作。 –

+0

@VaibhavDalela查看更新的答案 – Tushar

0

你可以使用assign加載你的JavaScript您的網址。我發現有用的模式之一是在jQuery document.ready中,可以找到某種類型的所有標籤(在本例中爲「a」鏈接標籤),從迭代器中分配它們的id,將實際的URL保存在一個JSON,並將其從實際鏈接中刪除。這樣,你可以處理從Javascript的所有內容

相關問題