单击确认框上的取消时页面应刷新

时间:2019-01-07 18:39:36

标签: javascript visualforce confirm

return confirm('Changing the protocol will reset the project Team members');
                }

我正在调用两种方法onclick,第一种是多次停止单击按钮,第二种是显示确认框。用户单击取消后,用户将无法再次保存它。我正在寻找解决方案以区分这两种肉类。

<apex:commandButton onclick=" this.onclick=function(){return false;}; return showProtocolEditWarning();" action="{!save}" value="Save" id="commandButtonSave"/>  

 function showProtocolEditWarning(){
            if(projectId && praProtocol){
                var newProject = document.querySelector('input[id$="inputFieldPraProject_lkid"]').value;
                var protocolIdElement = document.querySelector('select[id$="protocolIdList"]');
                var newProtocol = protocolIdElement.options[protocolIdElement.selectedIndex].value;
                if(praProject.substring(0,15) != newProject.substring(0,15) || praProtocol != newProtocol){
                    return confirm('Changing the protocol will reset the project Team members');
                    //window.location.reload() ;
                }
            }
            return true;
        }

1 个答案:

答案 0 :(得分:0)

您应该检查用户单击的内容,而不是返回confirm(...),如果用户单击“取消”,则应使用location.reload()重新加载页面:

function confirmMessage() {
  if(confirm('Your confirmation msg')) { //i.e. if the user pressed ok
    //handle this
  }
  else {  //i.e. user pressed cancel
    location.reload();
  }
}