Asp mvc razor 在文本框中存储输入文件的值
Asp mvc razor store value of input file in textbox
我的视图中有以下代码,我需要从上面的文本框中的输入文件中存储所选文件的名称,我已经尝试了以下 JS 脚本,但我没有得到任何结果
@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
};
在 fire bug 中我得到这个错误 TypeError: document.getElementById(...).onchange is not a function
您应该使用 Change 事件,而不是单击。语法应该是这样的:
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>
<script type="text/javascript">
document.getElementById("fileID").onchange = function () {
document.getElementById("inputId").value= this.value;
}
</script>
我的视图中有以下代码,我需要从上面的文本框中的输入文件中存储所选文件的名称,我已经尝试了以下 JS 脚本,但我没有得到任何结果
@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
};
在 fire bug 中我得到这个错误 TypeError: document.getElementById(...).onchange is not a function
您应该使用 Change 事件,而不是单击。语法应该是这样的:
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>
<script type="text/javascript">
document.getElementById("fileID").onchange = function () {
document.getElementById("inputId").value= this.value;
}
</script>