'How to use document.getElementById() method in TypeScript?
I am trying to reset HTML Form in order to clear all the values in the input fields using;
document.getElementById('myForm').reset(); 
But I can use that in typescript, it's giving me an error saying document.getElementById('myForm') may be null
How can I solve this issue?
Solution 1:[1]
Typescript will force you to check the value is not null if you use the strictNullChecks option (or strict which includes strictNullChecks). You can either perform the test or use a not null assertion (!). Also you will need to use a type assertion to assert the html element is an HTMLFormElement as by default it will be just an HtmlElement and reset is present only HTMLFormElement
Just an assertion Assertion:
(document.getElementById('myForm') as HTMLFormElement).reset();
Assertion with check (recommended):
let form = document.getElementById('myForm')
if(form) (form as HTMLFormElement).reset(); 
Not null assertion (if you want to access just HtmlElement member):
document.getElementById('myForm')!.click()
Solution 2:[2]
There are different fixes for this. You can edit your tsconfig.json and add
"strictNullChecks": false
to it. This will disable the strict null checks.
If you are absolutely sure that the element exists, you could also use ! to tell typescript that your id will always be there
document.getElementById('myForm')!.reset(); 
Or if you want to make sure to never get an error because the element indeed doesn't exist, check for its existance
const el = document.getElementById('myForm');
if (el) el.reset();
Solution 3:[3]
try use typing like this:
const myForm = <HTMLElement>document.getElementById('myForm')
if(myForm ) myForm.reset();
Solution 4:[4]
Just use this syntax & it will work :
document.getElementById('myForm')!
Solution 5:[5]
Try a check on the element. Something like:
var myForm = document.getElementById('myForm');
if(myForm) myForm.reset();
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source | 
|---|---|
| Solution 1 | Titian Cernicova-Dragomir | 
| Solution 2 | baao | 
| Solution 3 | Anjasmara Dwi.S | 
| Solution 4 | Community | 
| Solution 5 | abhisek | 
