Xpages 是否根据客户端值更改eventHandlers刷新模式?

Xpages 是否根据客户端值更改eventHandlers刷新模式?,xpages,lotus-domino,xpages-ssjs,Xpages,Lotus Domino,Xpages Ssjs,我在顶部有一个提交按钮,它通常对表单进行部分刷新 当我添加了一个不会到期的fileUpload控件时,因为我需要进行完全刷新。但我只希望在用户添加了要上载的文件时发生这种情况。因此,如果文件上传是空的,我想使用partialRefresh来提交 我可以检查文件添加是否足够简单,我可以有两个具有不同刷新模式的按钮,并使用JS隐藏它们,但这是一个笨拙的解决方案 我想做的是根据当前表单中提交的值更改提交按钮上的刷新模式 有什么想法吗 谢谢 /J您可以通过向按钮添加第二个事件处理程序来完成此操作:一个事

我在顶部有一个提交按钮,它通常对表单进行部分刷新

当我添加了一个不会到期的fileUpload控件时,因为我需要进行完全刷新。但我只希望在用户添加了要上载的文件时发生这种情况。因此,如果文件上传是空的,我想使用partialRefresh来提交

我可以检查文件添加是否足够简单,我可以有两个具有不同刷新模式的按钮,并使用JS隐藏它们,但这是一个笨拙的解决方案

我想做的是根据当前表单中提交的值更改提交按钮上的刷新模式

有什么想法吗

谢谢


/J

您可以通过向按钮添加第二个事件处理程序来完成此操作:一个事件处理程序用于完全刷新,另一个用于部分刷新

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

   <xp:div id="divRefresh">
      <xp:label value="#{javascript:java.lang.System.currentTimeMillis()}" id="label1" />
      <xp:label value="#{javascript:java.lang.System.currentTimeMillis()}" id="label2" />
   </xp:div>

   <xp:br></xp:br>

   <xp:button value="Refresh" id="button1">
      <xp:eventHandler event="onclick" submit="true"
         refreshMode="complete">
            <xp:this.script>
               <![CDATA[alert("Complete!"); return false;]]>
            </xp:this.script>
      </xp:eventHandler>
      <xp:eventHandler event="onclick" submit="true"
         refreshMode="partial" refreshId="label2">
            <xp:this.script>
               <![CDATA[alert("Partial!");return true;]]>
            </xp:this.script>
      </xp:eventHandler>
   </xp:button> 

</xp:view>
事件中的CSJS代码必须返回false才能停止事件。

我在发布新流内容时这样做

在upload控件的onchange事件中,我设置了一个requestScope变量。如果设置了,我将执行完全刷新。效果很好


我也这么怀疑,但没有意识到可以通过使用CSJS来防止SSJS事件。工作得很有魅力!谢谢如何检查以使他们不删除以前选择的文件?