打字稿表格重置()不起作用
Typescript form reset() not working
我正在使用 typescript 来重置表单,但它不起作用或 typescript 编译器(1.0.3 版本)无法识别 reset() 函数。
编译器给出错误
Build: Interface 'HTMLFormElement' incorrectly extends interface 'HTMLElement'. C:\Program Files (x86)\Microsoft SDKs\TypeScript.4\lib.d.ts
这是打字稿代码
var resetForm =document.getElementById(dirtyFormID);
resetForm.reset();
当我将上面的代码复制到 js 文件时,它工作得很好。
这是什么原因?
由于函数 getElementById
returns 是更通用的类型 HTMLElement
您需要手动断言特定版本:
var dirtyFormID = 'something';
var resetForm = <HTMLFormElement>document.getElementById(dirtyFormID);
resetForm.reset();
请注意 document.getElementById
returns HTMLElement
(就像这里已经说过的)。
您应该将 HTMLElement
转换为 HTMLFormElement
选角应该是这样的:
var resetForm:HTMLFormElement;
resetForm= <HTMLFormElement>document.getElementById('your form id');
if(resetForm)
resetForm.reset();
使用打字稿。
为了避免 Google Chrome 错误 "resetForm.reset is not a function",我在 HTML 代码中指定了按钮元素的类型 "reset"。指定了一个:
type = 'reset'
使我的功能运行良好。
我正在使用 typescript 来重置表单,但它不起作用或 typescript 编译器(1.0.3 版本)无法识别 reset() 函数。 编译器给出错误
Build: Interface 'HTMLFormElement' incorrectly extends interface 'HTMLElement'. C:\Program Files (x86)\Microsoft SDKs\TypeScript.4\lib.d.ts
这是打字稿代码
var resetForm =document.getElementById(dirtyFormID);
resetForm.reset();
当我将上面的代码复制到 js 文件时,它工作得很好。
这是什么原因?
由于函数 getElementById
returns 是更通用的类型 HTMLElement
您需要手动断言特定版本:
var dirtyFormID = 'something';
var resetForm = <HTMLFormElement>document.getElementById(dirtyFormID);
resetForm.reset();
请注意 document.getElementById
returns HTMLElement
(就像这里已经说过的)。
您应该将 HTMLElement
转换为 HTMLFormElement
选角应该是这样的:
var resetForm:HTMLFormElement;
resetForm= <HTMLFormElement>document.getElementById('your form id');
if(resetForm)
resetForm.reset();
使用打字稿。
为了避免 Google Chrome 错误 "resetForm.reset is not a function",我在 HTML 代码中指定了按钮元素的类型 "reset"。指定了一个:
type = 'reset'
使我的功能运行良好。