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