1

如何使取消按钮不处理页面上的保存。

我试图仅在元素 id 'item' 更改时启动提示。

我确实很好地得到了 OK 和 CANCEL 提示,但取消并没有阻止页面提交。

<script type='text/javascript'>
var strProductNum = document.getElementById('item').value;
function isProductNumChanged(itemValue){
    if (strProductNum != itemValue){
        var valueYesNo = confirm('Really change this Product Number to ' + document.getElementById('item').value + '?');
    }
    if (valueYesNo){
        return true;
    }else{
        return false;
    }
}
</script>

这就是我触发事件的方式:

<h:commandButton id="save1"
                onclick="isProductNumChanged(document.getElementById('item').value);"
                value="Save" action="#{itemHome.saveItem}" />   
4

1 回答 1

2

当使用内联事件处理程序(如onclick="")并且您需要停止默认事件发生时,从事件处理程序函数返回 false 是不够的。return指定内联事件处理程序时,还必须放在函数名称之前。

 onclick="return isProductNumChanged(document.getElementById('item').value);"
于 2011-05-05T17:45:12.350 回答