アイコンクリックでファイルをアップロードする必要があるJSFフォームがあります(つまり、ファイルアップロードコンポーネントのテキストフィールド/参照ボタンを表示しません)。
他のコンポーネントタイプを介して、ファイルを開くダイアログとアップロードコンポーネントのアップロード機能をトリガーすることは可能ですか?
アイコンクリックでファイルをアップロードする必要があるJSFフォームがあります(つまり、ファイルアップロードコンポーネントのテキストフィールド/参照ボタンを表示しません)。
他のコンポーネントタイプを介して、ファイルを開くダイアログとアップロードコンポーネントのアップロード機能をトリガーすることは可能ですか?
ファイルを開くダイアログをトリガーするために使用できる「既製の」コンポーネントは他にないと思います(結局のところ、これ<input type=file>
はレンダラーによって作成された結果です)。
ただし、独自のレンダラーを開発する場合は、<input>
とアイコンの両方を<img>
(次々に) 書き込むことができます。<input>
絶対配置を使用して の上に配置し、不透明度を 0 に減らす css クラスを指定します<img>
(カーソルを「ポインター」に設定することもできます)。
これで、ユーザーがアイコンをクリックすると、ダイアログがポップアップする非表示の入力もクリックされます。
(考えてみると、既製のコンポーネントに同じ種類のcssを適用するだけで、独自のレンダラーを作成せずにこれを行うことができるとほぼ確信しています...)
いいえ、ファイル アップロード ダイアログは、セキュリティ機能としてほとんど変更できないようになっています。