Ajax 从更新中排除id

Ajax 从更新中排除id,ajax,jsf-2,Ajax,Jsf 2,我可以从update=“:myComponent”中排除特定id吗 我有一个较大的页面(包含多个表、输入字段等),它用包装。大多数时候,我只是执行update=“:outerPanel”,这很好。但是现在我面临一个问题,除了一个表之外,我必须更新页面 如何从更新过程中排除该表(或任何组件?不,我认为从facelet中不可能做到这一点。在服务器端,您可以操纵ajax请求,但我认为这不是您想要的 可能您的视图允许将一些h:panelGroup包裹在要更新的部件周围。如果不刷新的ID可以通过某些逻辑识

我可以从
update=“:myComponent”
中排除特定id吗

我有一个较大的页面(包含多个表、输入字段等),它用
包装。大多数时候,我只是执行
update=“:outerPanel”
,这很好。但是现在我面临一个问题,除了一个表之外,我必须更新页面


如何从更新过程中排除该表(或任何组件?

不,我认为从facelet中不可能做到这一点。在服务器端,您可以操纵ajax请求,但我认为这不是您想要的


可能您的视图允许将一些
h:panelGroup
包裹在要更新的部件周围。

如果不刷新的ID可以通过某些逻辑识别(即:

然后,您可以尝试使用
JSF.util.chain
:(注意这使用的是MojaraJSF impl)构建JSF调用

并在窗体或组件的
onClick()
onSubmit()
上使用上述函数:

<h:commandButton onclick="myJsfSubmit(this)" />


这是使用Primefaces吗?您的“设置输入组件的disabled属性会阻止JSF应用其值,但不知道其他组件。我宁愿在
更新中提及特定id并跳过表的id以排除它。
function myJsfSubmit(callerElement) {
  var myIdsToSubmit = 'main-form:id-to-refresh-1 main-form:id-to-refresh-2';
  // put your logic to exclude the desired ID here
  // ...
  // then
  jsf.util.chain(callerElement,null,'mojarra.ab(this,event,\'action\',
      \'main-form:id_to-submit\',\'+ myIdsToSubmit +\')');
  return false;
  }
<h:commandButton onclick="myJsfSubmit(this)" />