javascript - 我可以在函数内使用 confirm() 提示符吗?如何?

标签 javascript html dom-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}" />   

最佳答案

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

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

关于javascript - 我可以在函数内使用 confirm() 提示符吗?如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5901847/

相关文章:

javascript - Vuetify动态创建v-select

javascript - body 事件未触发

javascript - Yii框架: get the resultant html from a view in JavaScript

html - 增加CSS圆圈的悬停区域

javascript - Javascript 中的事件循环是否在单独的线程中执行?

JavaScript:获取搜索文本在正文上的滚动位置

html - 如何用颜色创建叠加效果

javascript - 如何知道点击了哪个按钮

javascript - JS/HTML - onresize 不触发

javascript - 如何在 JavaScript 中获取点击的 div 元素的 ID?