2010-06-04 486 views
4

我試圖將<input type="file" id="field1">的值分配給<input type="file" id="field2">使用js向<input type =「file」>寫入數據

我有下面的代碼,但預期它不工作:

<script type="text/javascript"> 
function test(){ 
    var field_value = document.getElementById('file1').value; 
    document.getElementById('file2').value = field_value; 
} 
</script> 
<body> 
    <input type="file" onchange="test()" id="file1"/> 
    <input type="file" id="file2"/> 
</body> 

說明:當我點擊有id="file1"調用test()功能文件字段的瀏覽領域。變量field_value正在上傳文件的名稱。但它不會將值分配給id="file2"的文件字段。

回答

1

您無法在Javascript中獲得或設置<input type="file" >的值。

+1

實際上,你*可以*獲取值,但它不是完整的路徑 - 唯一有用的部分是「名稱」部分(路徑的尾端)。然而,你說得對,它不能設置。 – Pointy 2010-06-04 11:58:53

+0

但是,如果我得到的價值,我可能能夠設置它。 – user358176 2010-06-05 12:19:40

2

出於安全考慮,您不能使用JavaScript訪問文件控制(想象一下,如果你能自動上傳你想要當用戶訪問一個頁面的任何文件!)

話雖如此,Firefox的最新版本有一個新的File API,這可能會幫助你爲特定的瀏覽器。 HTML5中引入了各種各樣的File controls,但在使用它們之前還需要很長時間。

相關問題