0
爲了在form type =「file」上傳時擁有完整的UI風格,我有一個僞表單字段(#fileName),瀏覽,上傳按鈕。我有一個隱藏的表單,實際的表單域(#fileAttach),瀏覽和上傳按鈕。我試圖觸發它,這樣當用戶單擊瀏覽時,它會觸發實際瀏覽按鈕,然後獲取實際輸入字段文件路徑的值,並將該文件填充到僞輸入字段中。Chrome和Firefox文件上傳瀏覽bug
browse = function() {
$("#fileAttach").click();
var file = $("#fileAttach").val();
$("#fileName").val(file);
}
它適用於Safari和IE。但是,在Chrome和Firefox中,用戶選擇文件後似乎停止執行。文件名不會傳遞到僞表單字段。但是,如果我第二次激發browse(),它會立即將第一個文件路徑填充到僞表單域,然後生成一個新的文件瀏覽窗口。 Chrome/FF似乎只執行函數的第一行並暫停。如果再次調用函數,則會執行第二行和第三行,等等。
這裏發生了什麼,如何解決?先謝謝你。
謝謝。但不幸的是,我不能使用這個選項。我有一個巨大的輸入表單,其中必須包含文件上傳。因此,爲了模仿ajax,我在第一個下面放置了第二個隱藏表單。一旦用戶選擇了文件,我可以如何將路徑名複製到僞表單域? – user728302 2011-04-28 00:22:21
@user我懷疑是否有辦法從用戶的計算機(或至少是真正的計算機)中提取路徑。 – alex 2011-04-28 00:24:41
@alex _「我懷疑是否有從用戶計算機(或至少是真實的計算機)提取路徑的方法。」_請參閱[HTML5 File API中的FileReader.readAsText如何工作?](http:// stackoverflow。 COM /問題/ 40146768 /如何-的FileReader-readastext功能於HTML5的文件API-作品) – guest271314 2016-11-09 03:23:00