2010-07-01 66 views
0

我需要用jquery上傳文件。 我現在關於uploadify插件,但我不想爲它使用這麼大的插件。用jquery上傳文件

我有一個想法,我該怎麼做,你能告訴我它會工作嗎?

如果我通過ajax將<input type="value">輸入的值作爲javascript變量傳遞給some.php文件,然後進行上傳,它會工作嗎?

謝謝?

回答

2

如果沒有Flash的幫助,JavaScript無法自行上傳文件,這就是爲什麼您需要類似Uploadify或SWFUpload來完成這項工作的原因。

解決方法選項可能會使用不可見的iframe您使用表單的target屬性進行上載。將工作的傳統方式,但用戶可以留在當前頁面:

<form target="iframe_id" .... 
+0

你能給我一個關於iframe這樣的用法的鏈接嗎? – Simon 2010-07-01 10:02:49

+0

@Syom真的很簡單:讓一個帶有ID的IFrame,並將窗體的目標設置爲該ID。如果你需要更多的細節,我認爲@andy在他的回答中有很好的聯繫。 – 2010-07-01 11:05:18

2

我假設的原因您希望這樣做是爲了讓您可以在上傳完成後(例如,帶圖像的縮略圖),具有異步樣式的文件上傳並顯示有關上傳文件的信息。 jQuery From Plugin頁面有一個選項,其中包含iframe uploads,看起來不錯。

我也使用了Ajax IFrame Method,它運行良好,但沒有被構建爲jQuery插件。雖然它玩的很好。

基本上這些插件都是做什麼的,是附加onsubmit事件處理程序到您的窗體。提交表單時,插件捕獲事件,在頁面上創建隱藏的iframe,從提交表單中克隆表單字段,然後提交。結果是原始表單數據被提交,但用戶可見頁面不必定向到表單操作中的url。

當然,一旦iframe表單完成提交,您可以觸發回調並執行任何需要的提交後腳本。我鏈接到上面的ajax iframe方法對此有很好的文檔。