我可以在函数内使用confirm()提示符吗?怎么样?

时间:2011-05-05 17:32:03

标签: javascript html javascript-events confirm

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

我正在尝试仅在元素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}" />   

1 个答案:

答案 0 :(得分:2)

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

 onclick="return isProductNumChanged(document.getElementById('item').value);"