Xpages 要在单击事件-xpage时触发文件上载控件

Xpages 要在单击事件-xpage时触发文件上载控件,xpages,Xpages,在IE中的OnClick或Onfocus事件期间,有人能建议如何在Xpage中启动文件上载控件吗?它在Firefox中默认工作。严格来说,当用户在文件上载控件中选择一个文件时,在该文件与该文件关联后,它就准备上载(请求阶段数据)。本机控件有一些我希望在将来的版本中缺少的东西,但基本上要实现“上载”按钮功能,出于以下原因,我建议您: 创建触发完全刷新的按钮控件(如果fileUpload控件的SSJS getFilename()为true,则返回true);注意,它必须是一个完全刷新 确保在运行时

在IE中的OnClick或Onfocus事件期间,有人能建议如何在Xpage中启动文件上载控件吗?它在Firefox中默认工作。

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

  • 创建触发完全刷新的按钮控件(如果fileUpload控件的SSJS getFilename()为true,则返回true);注意,它必须是一个完全刷新
  • 确保在运行时选中“未经验证的流程数据”(aka-disableValidators=“true”)
您的按钮应该如下所示: <xp:button value="Upload" id="button1"> <xp:eventHandler event="onclick" submit="true" refreshMode="complete" disableValidators="true"> <xp:this.action><![CDATA[#{javascript: getComponent("fileUpload1").getFilename()?true:false}]]></xp:this.action> </xp:eventHandler> </xp:button>

我遇到的所有用户都希望有一个“上传”按钮。我并不是说这是最好或最理想的方式,但这是人们寻找的。我的经验告诉我要满足用户的期望。他们期望这样做可能是错误的,但至少在我们现在所做的情况下,这是有意义的

我相信有一种方法可以自动触发完全刷新,可能是一个onComplete事件。我不确定这是xp:fileUpload控件的onBlur事件,还是getComponent(“fileUpload1”).getFilename()值之外的其他侦听器。也许一个更有经验的XPage开发人员可以具体回答这个问题


希望这有帮助。

您需要指定IE版本。我不这样做。你说“火”是什么意思。你想在有人单击where?IE7时执行代码?我想执行文件上载控制,即,单击或文件上载控制焦点时选择文件。AFAIK文件选择对话框无法通过JavaScript访问。否则,恶意代码很容易通过上传窃取文件。