Clearing a form is something that you often need to do on a website, for example if you want to empty the form fields after submitting a form with Ajax.
Resetting a form using JavaScript is pretty straightforward, you can just call:
document.getElementById("#myform").reset();
But calling the reset()
function on a jQuery object will not work. You’ll get an error saying TypeError: $(...).reset is not a function
.
Why is that?
Well, the reset()
function is a regular JavaScript function, not a jQuery function, and therefore won’t work on a jQuery object.
To get it to work, we need to extract the underlying DOM element from the jQuery object, and then we can call the function.
A jQuery object contains one or more DOM elements, and you can access the elements in it with normal array syntax, so this will work:
$("#myform")[0].reset();
Another way is to trigger the reset event by calling
$("#myform").trigger('reset');
Note that these methods will only reset the form fields to their initial values. It will not empty fields that has default values set on them.