Javascript Asp mvc razor将输入文件的值存储在文本框中
我的视图中有以下代码,我需要在上面的文本框中存储输入文件中所选文件的名称,我尝试了以下JS脚本,但没有得到任何结果Javascript Asp mvc razor将输入文件的值存储在文本框中,javascript,c#,jquery,asp.net-mvc,razor,Javascript,C#,Jquery,Asp.net Mvc,Razor,我的视图中有以下代码,我需要在上面的文本框中存储输入文件中所选文件的名称,我尝试了以下JS脚本,但没有得到任何结果 @Html.TextBoxFor(model => Model.helpVM.str1, htmlAttributes:new { id="inputId", @class = "form-control" }) <div class="col-md-4"> <a href="#" onclick="document.getElementById(
@Html.TextBoxFor(model => Model.helpVM.str1, htmlAttributes:new { id="inputId", @class = "form-control" })
<div class="col-md-4">
<a href="#" onclick="document.getElementById('fileID').onchage(); return false;" class="btn btn-info">Choisir fichier</a>
<input type="file" name="FileUpload" accept=".txt" data-input="false" id="fileID" style="visibility: hidden;" />
</div>
<script type="text/javascript">
var filename = $('#fileID').val();
document.getElementById("fileID").onchange = function () {
document.getElementById("inputId").value = filename
};
@Html.TextBoxFor(model=>model.helpVM.str1,htmlAttributes:new{id=“inputId”,@class=“form control”})
var filename=$('#fileID').val();
document.getElementById(“fileID”).onchange=function(){
document.getElementById(“inputId”).value=filename
};
在fire bug中,我得到了以下错误类型error:document.getElementById(…).onchange不是函数您应该使用更改事件,而不是单击。语法应该是这样的:
document.getElementById("fileID").onchange = function () {
document.getElementById("inputId").value = this.value;
}
更新:
我建议您更改代码如下:
<div class="col-md-4">
<a href="#" onclick="HandleIt();" class="btn btn-info">Choisir fichier</a>
<input type="file" name="FileUpload" accept=".txt" data-input="false" id="fileID" style="visibility: hidden;" />
</div>
<script type="text/javascript">
function handleIt(){
document.getElementById("fileID").onchange = function () {
document.getElementById("inputId").value = this.value;
};
return false;
}
</script>
函数handleIt(){
document.getElementById(“fileID”).onchange=function(){
document.getElementById(“inputId”).value=this.value;
};
返回false;
}
您应该使用更改事件,而不是单击。语法应该是这样的:
document.getElementById("fileID").onchange = function () {
document.getElementById("inputId").value = this.value;
}
更新:
我建议您更改代码如下:
<div class="col-md-4">
<a href="#" onclick="HandleIt();" class="btn btn-info">Choisir fichier</a>
<input type="file" name="FileUpload" accept=".txt" data-input="false" id="fileID" style="visibility: hidden;" />
</div>
<script type="text/javascript">
function handleIt(){
document.getElementById("fileID").onchange = function () {
document.getElementById("inputId").value = this.value;
};
return false;
}
</script>
函数handleIt(){
document.getElementById(“fileID”).onchange=function(){
document.getElementById(“inputId”).value=this.value;
};
返回false;
}
document.getElementById(“fileID”).onchange=function(){
document.getElementById(“inputId”).value=this.value;
}
document.getElementById(“fileID”).onchange=function(){
document.getElementById(“inputId”).value=this.value;
}
@Redadublex:抱歉,修复了语法仍然没有结果这是一个输入文件,我需要在textbox@Redadublex:现在检查一下。我知道syntax有一个问题,它似乎工作得很好,我现在的问题不是获取文件名,而是在我的文本框中获取“未定义”您的第一个解决方案工作得很好,只是一些误解谢谢helping@Redadublex:抱歉,修复了语法仍然没有结果这是一个输入文件,我需要获取文件中的文件名textbox@Redadublex:现在检查一下。我知道Syntax有一个问题似乎很好,我现在的问题是没有得到文件名,我在我的文本框中得到了“未定义”你的第一个解决方案工作得很好,只是一些误解谢谢你的帮助它不工作,它给了我fire bug中的这个错误“TypeError:ev.popupindowuri is null”它不工作,它在firebug“TypeError:ev.popupWindowURI为null”中给出了这个错误