Pass filename from file upload to text field(将文件名从文件上传传递到文本字段)
问题描述
我有一个表单的一部分,用户可以在其中上传文件.我只想将文件名以相同的形式发送到文本字段.因此,如果用户上传C:/Folder/image.jpg",则文本字段应显示image.jpg".我自己尝试了一些代码,但我知道这是错误的:
function ff_uploadimages_action(element, action){var m = data.match(/((*):/)/(.*)[/\]([^/\]+.w+)$/);开关(动作){案例改变":if (data.match(/((*):/)/(.*)[/\]([^/\]+.w+)$/).value)ff_getElementByName('文件名').value = m[2].text;默认:;}//转变}//ff_uploadimages_action
ff_uploadimages 是上传文件的字段,filename 是名称应该出现的文本字段.任何帮助都将不胜感激!谢谢.
这是一种方法
document.getElementById('upload').onchange = uploadOnChange;函数uploadOnChange() {var 文件名 = this.value;var lastIndex = 文件名.lastIndexOf("\");if (lastIndex >= 0) {文件名 = 文件名.substring(lastIndex + 1);}document.getElementById('filename').value = 文件名;}
<input id="upload" type="file"/><input id="filename" type="text"/>
你没有提到 jQuery,但鉴于它很受欢迎,这里使用 jQuery 的解决方案相同
jQuery:
$('#upload').change(function() {var 文件名 = $(this).val();var lastIndex = 文件名.lastIndexOf("\");if (lastIndex >= 0) {文件名 = 文件名.substring(lastIndex + 1);}$('#filename').val(文件名);});
<小时>
演示:
http://jsfiddle.net/pxfunc/WWNnV/4/p>
I have a part of a form where a user can upload a file. I want only the filename to be sent to a text field in the same form. So if user uploaded "C:/Folder/image.jpg", the text field should show "image.jpg". I tried some code myself but I know it's wrong:
function ff_uploadimages_action(element, action)
{var m = data.match(/((*):/)/(.*)[/\]([^/\]+.w+)$/);
switch (action) {
case 'change':
if (data.match(/((*):/)/(.*)[/\]([^/\]+.w+)$/).value)
ff_getElementByName('filename').value = m[2].text;
default:;
} // switch
} // ff_uploadimages_action
ff_uploadimages is the field to upload file, and filename is the textfield where name should appear. Any help at all is appreciated! Thanks.
Here's one way to do it
document.getElementById('upload').onchange = uploadOnChange;
function uploadOnChange() {
var filename = this.value;
var lastIndex = filename.lastIndexOf("\");
if (lastIndex >= 0) {
filename = filename.substring(lastIndex + 1);
}
document.getElementById('filename').value = filename;
}
<input id="upload" type="file" />
<input id="filename" type="text" />
you don't mention jQuery but given it's popularity here's the same solution using jQuery
jQuery:
$('#upload').change(function() {
var filename = $(this).val();
var lastIndex = filename.lastIndexOf("\");
if (lastIndex >= 0) {
filename = filename.substring(lastIndex + 1);
}
$('#filename').val(filename);
});
Demo:
http://jsfiddle.net/pxfunc/WWNnV/4/
这篇关于将文件名从文件上传传递到文本字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:将文件名从文件上传传递到文本字段


- Flexslider 箭头未正确显示 2022-01-01
- Fetch API 如何获取响应体? 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- 失败的 Canvas 360 jquery 插件 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01