var fu1 = document.getElementById("FileUpload1");
我怎樣才能得到FileUpload控件與id FileUpload1
得到一個文件上傳的文件名的文件中通過JavaScript
var fu1 = document.getElementById("FileUpload1");
我怎樣才能得到FileUpload控件與id FileUpload1
得到一個文件上傳的文件名的文件中通過JavaScript
名嘗試value
屬性,像這樣:
var fu1 = document.getElementById("FileUpload1");
alert("You selected " + fu1.value);
注意 :它看起來像FileUpload1
是一個ASP.Net服務器端FileUpload控件。
如果是這樣,你應該使用ClientID
屬性來獲取它的ID,像這樣:
var fu1 = document.getElementById("<%= FileUpload1.ClientID %>");
嘗試
var fu1 = document.getElementById("FileUpload1").value;
嘗試document.getElementById("FileUpload1").value
這個值應該有一個文件的路徑進行上傳,只是帶所有的價值都來自這個價值,你將有文件名。
RaYell, 您不需要解析返回的值。 document.getElementById("FileUpload1").value
僅返回帶擴展名的文件名。 這對我很有用,因爲我想將要上傳的文件的名稱複製到名爲'title'的輸入框中。在我的應用程序中,上傳的文件被重命名爲由後端數據庫生成的索引,標題存儲在數據庫中。
在google chrome element.value中返回名稱+路徑,但是是假路徑。因此,對於我來說,我使用的名稱屬性上的文件象下面這樣:
function getFileData(myFile){
var file = myFile.files[0];
var filename = file.name;
}
這是從頁面調用:
<input id="ph1" name="photo" type="file" class="jq_req" onchange="getFileData(this);"/>
給別人的提示:對於IE11,這並沒有爲我返回任何東西。 – Cordell 2017-02-27 22:47:47
它在IE11中工作正常 – 2018-02-27 07:41:38
的形式使用這樣的代碼,我可以捕捉原源上傳文件名,將其複製到第二個簡單的輸入字段。這是因爲用戶可以在提交請求中提供備用上傳文件名,因爲文件上傳文件名是不可變的。
<input type="file" id="imgup1" name="imagefile">
onchange="document.getElementsByName('imgfn1')[0].value = document.getElementById('imgup1').value;">
<input type="text" name="imgfn1" value="">
雖然此代碼段可能會解決問題,但[包括解釋](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有幫助以提高您的帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。 – Ferrybig 2016-02-24 09:44:41
15秒,好工作X-) – 2009-11-26 16:55:38