Primefaces 5呼叫改變事件在IE8 programmaticaly
我在代碼<input type="file" class="ui-fileupload-choose>
上傳的文件。此input
-Tag自動從PrimeFaces組件<p:fileUpload>
生成。 我想隱藏input
元素的按鈕,並使用我自己的樣式化按鈕進行上傳。
所以這是風格化的按鈕。
<input type="button" onclick="$('#formId\\:uploaderId .ui-fileupload-choose input').click();">
這確實功能FF,Chrome和IE9,10,11 但在IE8什麼也沒有發生在上載階段。顯示「選擇文件」對話框。生成的input file
具有JQuery更改事件。我相信這個事件不會被調用,因爲如果我點擊input file
按鈕,它會在所有瀏覽器中進行。
我已經試過
<input type="button" onclick="$('#formId\\:uploaderId .ui-fileupload-choose input').click(); #formId\\:uploaderId ui-fileupload-choose input').trigger('change');">
,但它並不能幫助。
而且我已經試過
$('#formId\\:uploaderId .ui-fileupload-choose input').change(function() {
// Cause the change() event
// to be fired in IE8 et. al.
//some checks against recursion.
alert("I'm in change");
$('#formId\\:uploaderId .ui-fileupload-choose input').change();
});
在變化的函數被調用,但它也沒有幫助。
在這種情況下我該怎麼辦?
神奇的是,我現在正在我的一個項目中處理同樣的問題。 看來,這是一個安全問題,輸入文件的點擊/改變是由javascript onclick手動觸發的。啓動上傳的過程正在進行,但請求永遠不會被髮送!如果我找到一些優雅的解決方案,我會更新這個問題!目前我正在檢查瀏覽器版本,如果它是IE,我正在改變上傳的方式。 – 2014-11-05 08:54:06
@HatemAlimam酷,謝謝你的評論。如果沒有簡單的解決方案來解決這個問題,我將使用'
'而不做任何更改。祝你好運 ! – Tony 2014-11-05 08:59:48
我剛剛發現了另一個[問題](http:// stackoverflow。com/questions/12556988/ie-doesnt-allow-to-upload-the-file-if-it-not-keybord-click-for-input-type-f)關於該主題,我認爲我是對的一個安全的東西IE:( – 2014-11-05 09:01:10