私の仕事は、ファイル アップロード ウィジェットの送信ボタンに CSS スタイルを実装することです。元のウィジェットを非表示にし、テキスト フィールドとボタンを追加して、必要なスタイルを表示し、元のウィジェットの機能を使用できるようにすることにしました。
<t:inputFileUpload id="fileupload" style="display:none" value="#{Handler.upFile}" accept="application/pdf,image /tiff" onchange="Handlechange();"/>
<input type="text" id="filename" class="input400px" readonly = "readonly"/>
<input type="button" id="fakeBrowse" class="browseButton" value="Browse..." onclick="HandleBrowseClick();"/>
function HandleBrowseClick()
{
var fileinput = document.getElementById("uploadForm:fileupload");
fileinput.click();
}
function Handlechange()
{
var fileinput = document.getElementById("uploadForm:fileupload");
var textinput = document.getElementById("filename");
textinput.value = fileinput.value;
}
Firefox では動作しますが、IE では動作しません。IE では click() が正しく動作しないと思います。IEの問題を解決する方法と、IEで機能しない理由を誰か考えていますか? ありがとうございました。