Grails - 根据confirm()提示消息执行表行删除

时间:2017-08-26 00:32:13

标签: javascript jquery sql grails

我有一个包含员工的表,此表有一个删除按钮。按下此按钮时,行删除时没有任何确认消息。

所以我试图添加这样一个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

1 个答案:

答案 0 :(得分:1)

您可以将onclick="getConfirmation();"更改为onclick="return getConfirmation();",以防止点击默认操作。

如果没有return,您的函数getConfirmation的返回值将无法使用。

如果未明确返回,则可以将事件传递给函数并将event.preventDefault();添加到函数体中。