在 JavaScript 中更新表单字段
本文关键字:表单 字段 更新 JavaScript | 更新日期: 2023-09-27 18:30:46
我的网站上有一个表格,用于上传图片。表单有效,但Javascript并没有按照我期望的方式运行。我希望它做的是,当我使用"浏览"按钮选择图像时,使用文件名更新相邻的输入字段。谁能明白为什么这不起作用?
这是 HTML:
<div class="input-group">
<span class="input-group-btn">
<span class="btn btn-danger btn-file">
Browse… <input type="file" name="Image" multiple="">
</span>
</span>
<input type="text" class="form-control filename" readonly="">
</div>
这是Javascript:
<script type="text/javascript">
$(document).on('change', '.btn-file :file', function() {
var input = $('.filename'),
numFiles = input.get(0).files ? input.get(0).files.length : 1,
label = input.val().replace(/''/g, '/').replace(/.*'//, '');
input.trigger('fileselect', [numFiles, label]);
});
</script>
使用此代码 它会帮助你
<html>
<head>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<style>
.btnEdit{display:none;}
</style>
</head>
<script type="text/javascript">
$(document).on('change', '.btn-file :file', function() {
var fileName = $('#uploadfile').val();
$('.filename').val(fileName);
});
</script>
<div class="input-group">
<span class="input-group-btn">
<span class="btn btn-danger btn-file">
Browse… <input id = 'uploadfile' type="file" name="Image" multiple="">
</span>
</span>
<input type="text" class="form-control filename" readonly="">
</div>
我希望这对你有用。
$(document).on('change', '.btn-file :file', function(value) {
console.log(value);
var input = $('.filename'),
numFiles = value.target.files ? value.target.files.length : 1,
label = value.target.files[0].name.replace(/''/g, '/').replace(/.*'//, '');
input.val(label);
});
我在更改事件中添加了值作为参数,在该变量用于从元素中获取文件名之后。
对于测试,您可以从这里进行测试:http://jsfiddle.net/u4od6b2L/