2017-08-26 69 views
1

我有一個包含員工的表,並且此表具有刪除按鈕。當按下此按鈕時,行刪除發生而沒有任何確認消息。Grails - 根據confirm()提示消息執行錶行刪除

所以我試圖添加這樣一個confirm()對話框提示符,但我無法正確控制發生什麼,因爲不管我做什麼,行刪除總是會發生。這是因爲下面的代碼:

.gsp頁:

<td class="text-center"> 
    <g:link controller="employee" action="deleteRecord" params="${[id: celldata.get('id')]}"> 
      <button type="button" class="btn btn-danger" onclick="getConfirmation();">Delete</button> 
    /g:link> 
</td> 

javascript代碼:

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

不管我怎麼添加到提示信息,該deleteRecord功能employeeController內部將始終執行。如何根據confirm()提示中的消息停止deleteRecord函數的執行?

小提琴位於here

+1

過去和現在仍然會使用刪除函數發佈默認show.gsp的函數:'onclick =「return confirm('$ {message(code:'default.button.delete.confirm.message',默認:'你確定嗎?')}');「 ' – Vahid

回答

1

你可以改變onclick="getConfirmation();"onclick="return getConfirmation();"防止點擊的默認操作。

沒有return您的函數getConfirmation的返回值將不會被使用。

如果不明確返回,則可以將該事件傳遞給函數並將event.preventDefault();添加到函數體中。

+0

哇,我期望對我的問題有一個更難的解決方法,嗯,再次感謝@aristotll –