我有一个包含员工的表,此表有一个删除按钮。按下此按钮时,行删除时没有任何确认消息。
所以我试图添加这样一个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;
}
}
无论我添加到提示消息中,employeeController内的deleteRecord函数都将始终执行。如何根据来自confirm()提示符的消息停止执行deleteRecord函数?
小提琴位于here
答案 0 :(得分:1)
您可以将onclick="getConfirmation();"
更改为onclick="return getConfirmation();"
,以防止点击默认操作。
如果没有return
,您的函数getConfirmation
的返回值将无法使用。
如果未明确返回,则可以将事件传递给函数并将event.preventDefault();
添加到函数体中。