1

谁能建议在 IE 中的 OnClick 或 Onfocus 事件期间如何在 Xpage 中触发文件上传控制?它在 Firefox 中默认工作。

4

1 回答 1

0

严格来说,当一个人在File Upload控件中选择一个文件时,与该文件关联后,就准备上传(请求阶段数据)。本机控件有一些我希望在将来的版本中缺少的东西,但基本上是为了实现“上传”按钮功能,我建议出于以下原因,您应该:

  • 创建一个触发完全刷新的按钮控件(如果 fileUpload 控件的 SSJS getFilename() 为 true,则返回 true);请注意,它必须是完全刷新!
  • 确保在选中“未经验证的处理数据”的情况下运行它(又名 disableValidators="true")

您的按钮应如下所示:

    <xp:button value="上传" id="button1">
        <xp:eventHandler event="onclick" 提交="true"
        refreshMode="complete" disableValidators="true">
        <xp:this.action><![CDATA[#{javascript:
    getComponent("fileUpload1").getFilename()?true:false}]]></xp:this.action>
        </xp:eventHandler>
    </xp:按钮>
    

我遇到的所有用户都期待一个“上传”按钮。我并不是说这是最好或最优化的方式,但这是人们所寻求的。我的经验告诉我要迎合用户的期望。他们的期望可能是错误的,但至少在我们在这里所做的事情的背景下是有意义的。

我确信有一种方法可以自动触发完全刷新,可能使用 onComplete 事件。我不确定这是否可能是 xp:fileUpload 控件的 onBlur 事件,或者是 getComponent("fileUpload1").getFilename() 值的不同侦听器。也许是更有经验的 XPage Dev。可以具体回答。

希望这可以帮助。

于 2012-11-29T15:07:43.667 回答