2012-12-10 88 views
0

下面的代碼工作,但有兩個問題:它是它出現在網頁上的更大的形式的一部分。成功的文件上傳打開新的空白頁面,也允許「空白/空白」上傳

<FORM id="my_file_upld_form" 
style="display: inline;" 
METHOD="POST" 
ACTION="/cgi-bin/fileupload_ajax.pl" 
    ENCTYPE="multipart/form-data"> 
    <INPUT TYPE="file" class="ajaxfileupload" NAME="myfile" SIZE="42"> 
    <input type="hidden" class="ajaxfileupload" name="fileupload" value="ajax_fileupload"> 
    <input class="ajaxfileupload" type="submit" value="Upload"/> 
</FORM> 
  1. 它允許「空白」或空(無文件選擇和上傳按鈕點擊)上傳。這在服務器上導致500錯誤。
  2. 更大的問題是:上傳文件後,瀏覽器中會打開一個新的空白頁面,用戶必須使用後退按鈕才能返回運行該頁面的頁面。無論ajax腳本是否返回任何東西,都會發生這種情況。

如何解決?如果需要,我願意替換頁面上的這段代碼。

+0

遺憾?不明白 – rajeev

回答

0

如果沒有您的java腳本代碼,很難確切知道發生了什麼問題。不過,我想我知道如何解決你的一些問題。

  1. 不要相信你需要在你的後端代碼中處理客戶端的能力來處理一個表格,它會給你提供不好的數據。你可以驗證表單客戶端,但你總是需要驗證服務器端。

  2. 我懷疑這個問題發生,因爲你沒有阻止JavaScript中的默認事件。 jQuery中你會做

    $("#my_file_upld_form").submit(function(e){ 
          e.preventDefault() 
    }) 
    
+0

我試過了,沒有幫助。 – rajeev