Property 'value' does not exist on type 'HTMLElement'.
document.getElementById() returns the type HTMLElement which does not contain a value property. The subtype HTMLInputElement does however contain the value property. So a solution is to cast the result of getElementById() to HTMLInputElement like this: var inputValue = (<HTMLInputElement>document.getElementById(elementId)).value; <> is the casting operator in typescript. See TypeScript: casting HTMLElement: https://fireflysemantics.medium.com/casting-htmlelement-to-htmltextareaelement-in-typescript-f047cde4b4c3 The resulting javascript from the line above looks like this: inputValue = (document.getElementById(elementId)).value; i.e. containing no type information.