2010-02-12 42 views
1

我真的不與Ajax和JavaScript GR8所以我尋求幫助。這裏是交易,我有圖片形式上傳工作的老時尚方式:需要幫助創建圖像上傳表單

<form action="db/photo/do_upload" method="post" enctype="multipart/form-data"> <fieldset id="upload_form"> 
     <input type="file" name="userfile" size="20" /> 

    </fieldset> 
    <button type="button" class="ui-state-default">Upload</button> 
    </form> 

我想是要通過使該用AJAX網頁更具吸引力,我怎麼可以這樣做:

一旦上傳按鈕被點擊 - 開始上傳圖像 - 然後同時圖像上傳顯示某種Ajax-loader在 的 - 當圖像上傳完成打印出類似謝謝

我有一個PHP部分已經實施 - 我只需要一些幫助。謝謝

回答

-1

嘗試使用redy to go and fancy解決方案

+編輯+

Lightweight and not so fancy

+0

這看起來不錯,但我preffer寫的,而不是使用整個插件的代碼幾行,它增加了+ KBS到我的網頁,其中已經基達重 – 2010-02-12 22:57:19

+0

這個演示是不工作..我沒」牛逼downvote BTW – 2010-02-12 22:59:39

+0

@開發無效居民該腳本是越野車我downvoted – ant 2010-02-12 23:11:11

0

最根本的問題是,你不能直接通過XMLHttpRequest做一個文件上傳(即 「AJAX」)。你必須發表一個表格。現在

,你可以做的是這樣的:

  • 直接的形式是「目標」,以隱藏在網頁的iframe(只需要聲明一個iframe,給它一個「id」和「名「因爲我從來不知道哪一個‘目標’是指:-)並保持‘顯示:無’)
  • 在表單‘在頁面上提交’,更新的東西開始活動指示器(只顯示一個簡單的動畫GIF,或者說如果你喜歡更看中的)
  • 有服務器發送回一個響應(其中,記住,將在我們隱藏的iframe結束)這是一個小的JavaScript虛擬頁面在其中告訴父頁面,是時候隱藏/停止動畫了。

不花哨,你不能讓動畫取決於文件大小,但它很簡單。

0

你可以做的是使用JavaScript趕上「行動」你得到一個前到下一個頁面,然後,用JS提交表單。

例如(使用jQuery),

$('button').click(
    function() { 
     $('form').submit(); 
     $('div.result').html('<p>Thanks a bunch!</p>'); 
     return false; 
    } 
); 

更改 '加載圖片',以 「謝謝!」會需要來自服務器的某種信號。我剛開始使用AJAX,所以也許有人更熟悉這樣的功能可以添加到這?乾杯。 :)