使用JQuery定义的Typescript和文件上传
Typescript and File Upload with JQuery Definitions
我使用typescript,我有一个文件上传表单。但是我的打字结果是错误的。
$('body').on('change', '#upload_button input[type="file"]', (evt)=>{
let file_list = evt.target.files;
});
错误:
属性'files'在'Element'类型上不存在
如何修复这个错误?
记住$(…)总是返回一个元素列表。获取第一个(也是唯一的)带有[0]的,并将其强制转换为HTMLInputElement
。
$('body').find('#upload_button input[type="file"]')
.on('change', (evt: JQuery.TriggeredEvent) => {
let input = <HTMLInputElement>$(evt.currentTarget)[0];
let file_list = input.files;
//...
});
注意files
是HTMLInputElement
的成员
For typescript file不是HTMLElement
类型的方法。尝试将元素的类型更改为HTMLInputElement
let fileInput : HTMLInputElement = <HTMLInputElement>document.getElementById('input');
错误Property 'files' does not exist on type 'Element'
为我解决了:
$('body').on('change', '#upload_button input[type="file"]', (evt)=>{
evt.preventDefault()
const fileInput: HTMLInputElement = <HTMLInputElement>document.querySelector(event.currentTarget);
const file = fileInput.files[0];
...
});
相关文章:
- 从HTML调用typescript文件中的函数
- 为其他JS生成定义“;编译器”;来自TypeScript定义文件
- 我可以将函数导入到typescript类文件中吗
- 在IntelliJ IDEA中,如何将JS文件从“;查找用法“;使用TypeScript时的结果
- 从HTML文件中的TypeScript(.ts)获取值
- Grunt从typescript源生成空文件
- TypeScript解释了各种文件扩展名
- 如何在Typescript中添加具有扩展原型的文件
- 如何让jQuery在我的Typescript文件中工作
- 如何从typescript文件导入javascript文件
- 我是否必须在每个文件中引用 TypeScript 定义
- 将ng2图表添加到Typescript/ Angular 2项目引用路径和.js文件的路径不正确
- TypeScript 编译器在 WebStorm 中创建空的 JavaScript 文件
- Visual Studio 2015 NodeJS/Typescript 覆盖节点启动文件
- 已编译的javascript文件(来自typescript)被添加到我的Visual Studio项目中
- TypeScript 1.8,多个.ts文件中的单个文件-应用程序结构
- 可以't在不提供文件扩展名的情况下导入TypeScript模块
- Typescript从其他ts文件扩展类
- Typescript:从CommonJS模块导入默认值,从打字文件导出附加类型
- 使用声明文件typescript