2010-03-19 48 views
0

我已經使用javascript來上傳多個文件。當用戶點擊'add more'時,javascript會使用innerHTML將新對象附加到較舊的div。 現在的問題是,如果我選擇一個文件,然後點擊「添加更多」,然後新文件按鈕存在,但舊的選定文件刪除和兩個空白文件按鈕顯示。我希望在用戶添加新文件按鈕時必須選擇這個舊文件。在javascript中上傳文件的問題

下面是我用過的代碼。

function addNew() 
{ 
    var root = document.getElementById('newAds'); 
    newAd = document.createElement('input'); 
    newAd.setAttribute('type', 'file'); 
    newAd.setAttribute('name', 'uploaded[]'); 
    newAd.setAttribute('id', 'uploaded'); 
    newAd.setAttribute('value', ''); 
    newAd.setAttribute('maxlength', '1024'); 
    root.appendChild(newAd); 
    root.innerHTML += '<br />'; 
} 

如果任何人都可以, 幫助PLZ! tnX。

+0

您能否提供一些JavaScript和HTML樣例。僅僅通過猜測問題是不可能解決的。 – 2010-03-19 03:45:29

+0

添加新字段後,您最終會得到多少個字段?你在嘗試使用哪種瀏覽器? – 2010-03-19 04:29:43

回答

1

你給新的文件字段新的名字?你是否覆蓋任何現有的innerHTML或只是追加?

編輯

一個想法,每一個功能運行時,也許,變量newAd得到重用,因此重現以前所有的投入。

我一段時間沒有這樣做過。我使用jQuery所以這是非常簡單的,那麼:

$('#newAds').append('<input type="file" name="uploaded[]" id="uploaded" /><br />'); 

又一想,你對所有的輸入相同的ID ......這可能會導致問題。

+0

這是用於添加新文件按鈕的代碼。 – Nikhil 2010-03-19 04:14:33

+0

function addNew() var root = document.getElementById('newAds'); newAd = document.createElement('input'); newAd.setAttribute('type','file'); newAd.setAttribute('name','uploaded []'); newAd.setAttribute('id','uploaded'); newAd.setAttribute('value',''); newAd.setAttribute('maxlength','1024'); root.appendChild(newAd); root.innerHTML + ='
'; } 我認爲每次添加新項目時都會覆蓋它。 – Nikhil 2010-03-19 04:15:19

+0

你可以在你的問題中發帖嗎...這裏只是有點難以閱讀 – 2010-03-19 04:28:44