javascripttypescripttypescript1.4

Typescript form reset() not working


I'm using typescript to reset a form but it's not working or typescript compiler (1.0.3 version) doesn't recognize reset() function. Compiler gives Error

Build: Interface 'HTMLFormElement' incorrectly extends interface 'HTMLElement'. C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\lib.d.ts

This is the typescript code

var resetForm =document.getElementById(dirtyFormID);
resetForm.reset();

When I copied above code to js file, it's working perfectly.

What's the reason for it?


Solution

  • Since the function getElementById returns a more generic type HTMLElement you need to assert the specific version manually :

    var dirtyFormID = 'something';
    var resetForm = <HTMLFormElement>document.getElementById(dirtyFormID);
    resetForm.reset();