簡體   English   中英

即使在顯示警報后也保持文件對話框打開

[英]keep file dialog open even after displaying alert

嗨,大家好,

我有下面的代碼,我在其中檢查所選文件的文件類型。
hiddenFileInputFile是文件輸入類型。
下面的代碼工作正常,但如果用戶不提供.csv文件,那么它會顯示警報,這很好,但我希望文件對話框保持打開狀態,這不會發生。

請指教。
還有什么方法可以將過濾器直接應用於文件對話框到 select 僅使用 jquery/javascript 的.csv文件?

Element.find('input.hiddenFileInputFile').change(function () 
{
            var filename = $(this).val();
            if (!/\.csv$/.test(filename)) {
                alert('Please select a csv file');
                return false;
            }
});

謝謝。

只需在警報后調用其click事件:

if (!/\.csv$/.test(filename)) {
   alert('Please select a csv file');
   $(this).click();
   return false;
}

這不會“保持打開”,這是不可能的,而是在文件無效時重新打開它。

不幸的是,出於安全原因,您不能從外部觸發文件輸入點擊事件。 但是,如果您想在客戶端限制用戶,您可以嘗試:

<input type="file" accept="text/csv" /> 

這只會使 .csv 類型的文件在打開文件對話框中可見。 但是,我也會在服務器端進行控制。 如果不是正確的類型,您可以打開一個警告對話框並相應地設置文件輸入的樣式(例如紅色邊框)並讓用戶打開文件對話框,因為您無法觸發它。

jquery 的一些插件提供了一些方法,可以讓您對上傳過程進行大量控制。

Jquery插件1上傳jquery

僅舉幾例。

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM