2013-07-02 41 views
1

您可以在這裏看到問題http://bmi.sf.net/test.html清除後引導文件上傳空陣列

對於我正在使用的確切代碼,請右鍵單擊此網站並在菜單中選擇View source

我正在使用Jasny bootstrap fileupload插件。我有一個使用這個插件的表單。表單提交給一個php文件,其中$ _FILES數組被操作。

在上面的代碼中,我使用了jQuery表單插件來查看錶單提交的實時預覽。 PHP的只是做一兩件事:print_r($_FILES)

它時以下一系列動作的發生,除了偉大的工作,在$ _FILES數組爲空:

  • 用戶選擇的文件。顯示正常的php輸出。
  • 然後用戶使用'x'按鈕清除表單。按預期顯示空陣列。
  • 用戶加載一個新文件。現在數組是空的反對期望。

如何解決這個問題?

如果用戶沒有先清除表單,而是直接加載新文件,則表明數組不爲空。但是每個用戶都不會這樣做,所以我想解決給定的問題。

回答

1

看起來像一個競爭條件。 fileupload插件清除<input type="file">的名稱並設置一個<input type="hidden">以告訴服務器按下清除或提交而不更改正常形式之間的區別。但在你的情況下,你不需要這種行爲。

對於一個快速和髒的修復,總是設置更改名稱<input type="file">

$('#filep').on('change', function() { $(this).attr('name', 'filep') }); 
+0

這樣做的訣竅:) – yolo