2013-03-18 132 views
0

我創建了文件上傳表單。我想上傳數據,同時使用由BOOTMETRO主題提供的加載animatoin替換該頁面中的div的ajax調用。 文件上傳和Ajax都能夠單獨運行。但我想要一次點擊。使用AJAX和Normal進行文件上傳同時提交

所以當我單擊按鈕提交時: 1)AJAX應該替換我的頁面中的分區 2)然後文件上傳應該正常啓動。

我的HTML形式是:

<input name="file" type="file" class="btn btn-info" id="file" /><br/> 

<button type="submit" value="Submit" name="submit" onclick="submit()">Submit File</button> 
</form> 

AJAX部分

function submit() 
    { 
var xmlhttp; 

    if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
     } 
    else 
     {// code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 


    xmlhttp.onreadystatechange=function() 
     { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
      document.getElementById("fetchLoading").innerHTML=xmlhttp.responseText; 
     } 
     } 

    xmlhttp.open("GET","loading.php" ,true); 
      xmlhttp.send(); 
    xmlhttp.open("GET","upload_process.pgp",true); 
    xmlhttp.send(); 
    } 

請幫幫忙!或建議一種技術。 (我正在使用啓動地鐵,我想從我的文件加載從ajax加載到文件,直到文件上傳和頁面處於等待模式)

回答

1

您需要先發送AJAX呼叫,並且當您收到響應以編程方式觸發文件上傳。

所以,你的提交按鈕會像:

<button type="submit" value="Submit" name="submit" onclick="return submit()">Submit File</button>

submit函數將返回false防止表單提交。 然後在您的AJAX響應中提交表單。

document.myform.submit();

替換myform與形式的名稱。

+0

Okk明白了!但是,我怎樣才能發送和接收來自AJAX的響應? – user1773104 2013-03-18 07:53:35

+0

不,在'submit'函數末尾添加'return false'並在'if(xmlhttp.readyState == 4 && xmlhttp.status == 200)'中添加表單提交行'block – Naveed 2013-03-18 07:53:37

+0

Perfact Solution for this!非常感謝! – user1773104 2013-03-19 17:44:31