IEのOnClickまたはOnfocusイベント中にXpageでファイルアップロードコントロールを起動する方法を教えてください。Firefox ではデフォルトで動作します。
1 に答える
厳密には、ユーザーがファイル アップロード コントロールでファイルを選択すると、ファイルが関連付けられた後、アップロードの準備が整います (リクエスト フェーズ データ)。ネイティブ コントロールには、私が将来のリリースで望むいくつかの欠けているものがありますが、基本的に「アップロード」ボタンの機能を実現するには、以下の理由からお勧めします。
- フル リフレッシュをトリガーするボタン コントロールを作成します (fileUpload コントロールの SSJS getFilename() が true の場合は true を返します)。完全リフレッシュでなければならないことに注意してください。
- 「検証なしでデータを処理する」にチェックを入れて実行してください(aka-disableValidators="true")。
ボタンは次のようになります。
<xp:button value="アップロード" id="button1"> <xp:eventHandler event="onclick" submit="true" refreshMode="完了" disableValidators="true"> <xp:this.action><![CDATA[#{javascript: getComponent("fileUpload1").getFilename()?true:false}]]></xp:this.action> </xp:イベントハンドラ> </xp:ボタン>
私が遭遇したすべてのユーザーは、「アップロード」ボタンを期待しています。これが最良または最適な方法だと言っているわけではありませんが、それは人々が求めているものです。私の経験は、ユーザーの期待に応えることを教えてくれました。彼らがそのようなことを期待するのは間違っているかもしれませんが、少なくともここで行っていることの文脈では理にかなっています。
おそらく onComplete イベントを使用して、完全な更新を自動的にトリガーする方法があると確信しています。これが xp:fileUpload コントロールの onBlur イベントなのか、それとも getComponent("fileUpload1").getFilename() 値から離れた別のリスナーなのかはわかりません。おそらく、より経験豊富な XPage 開発者です。具体的に答えることができます。
お役に立てれば。