我有一个包含员工的表,这个表有一个删除按钮。按下此按钮时,行删除将发生,而不会显示任何确认消息。
所以我尝试添加这样的 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 函数都将始终执行。如何根据 confirm(( 提示符下的消息停止 deleteRecord 函数执行?
小提琴位于这里
您可以将onclick="getConfirmation();"
更改为onclick="return getConfirmation();"
以防止默认的点击操作。
如果不return
函数的返回值,getConfirmation
将不会使用。
如果不显式返回,则可以将事件传递给函数并将event.preventDefault();
添加到函数体。