Skip to content

Instantly share code, notes, and snippets.

@nuxodin
Forked from mcshaz/reportValidity.js
Last active April 17, 2020 08:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nuxodin/f7a08176e496d3e25fa6d309d6453168 to your computer and use it in GitHub Desktop.
Save nuxodin/f7a08176e496d3e25fa6d309d6453168 to your computer and use it in GitHub Desktop.
reportValidity polyfill for IE 10, 11
if (!HTMLFormElement.prototype.requestSubmit) {
HTMLFormElement.prototype.requestSubmit = function(submitter) {
let submitBtn = submitter;
if (!submitBtn) {
submitBtn = document.createElement('input');
submitBtn.type = 'submit';
submitBtn.hidden = true;
this.appendChild(submitBtn);
}
submitBtn.click();
!submitter && this.removeChild(submitBtn);
};
}
if (!HTMLFormElement.prototype.reportValidity) {
HTMLFormElement.prototype.reportValidity = function() {
if (this.checkValidity()){
return true;
}
if (this.noValidate){
this.noValidate = false;
this.requestSubmit();
this.noValidate = true;
} else {
this.requestSubmit();
}
return false;
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment