如何阻止网格加载

How to stop the grid from loading

我有一个 ADF jsff 页面,其中包含 af:inlineFrame 此框架调用 slickGrid,在保存时我验证网格单元格并通过显示警告消息显示错误消息。单击“确定”后,我希望网格保持原样但网格会再次加载。显示警报消息后,我尝试了 window.frames[0].stop();但这没有帮助

JSFF:

<af:inlineFrame id="slickFrame" 
                                source="/js/views/tarAutomation.html"                                
                                sizing="preferred" shortDesc="Slick Grid">
                    <af:serverListener type="onLoadEvt" method="#{pageFlowScope.myBean.initializeGrid}" />
                    <af:clientListener method="triggerOnLoad" type="inlineFrameLoad"/>

点击保存

function save() {
// Parse through the dirtied cells
  for(d in dirtyCells)
   {   
     var dirtiedRow = dirtyCells[d].row;
     failures = //Gets the failure array
        if(failures.length>0){
          alert("Mandatory fields are not entered");                               
          grid.gotoCell(dirtyCells[d].row, dirtyCells[d].cell); 
        // This is to set the focus on the errored cells
          window.frames[0].stop();
       }
        else{
            //Continue with the save operation
        }

请告诉我如何阻止加载网格。我希望加载停止,以便用户选择的选项被视为错误。

这可能只是一个 HTML 问题,与网格无关。保存按钮很可能会提交表单。您需要从 javascript 事件中 return false 以阻止默认操作(提交)。

看这里:JavaScript code to stop form submission

<form name="myForm" onsubmit="return validateMyForm();">

<script type="text/javascript">
function validateMyForm()
{
  if(check if your conditions are not satisfying)
  { 
    alert("validation failed false");
    returnToPreviousPage();
    return false;
  }

  alert("validations passed");
  return true;
}
</script>

我找到了阻止网格加载的方法 在jsff javascript 函数中添加事件参数 在此方法的末尾添加 event.cancel() ,这将取消新事件的传播 更多细节在这里 https://docs.oracle.com/cd/E16764_01/web.1111/b31973/af_event.htm