Add support for is-invalid state for SELECTs.

This commit is contained in:
Markus Birth 2016-05-29 02:48:08 +02:00
parent b25b37d4e4
commit f2d2ff765c

View File

@ -1,3 +1,15 @@
function checkValidity() {
if (this.required) {
var optId = this.selectedIndex;
var selOpt = this.options[optId];
if (selOpt.value == '') {
this.parentNode.classList.add('is-invalid');
} else {
this.parentNode.classList.remove('is-invalid');
}
}
}
document.addEventListener("DOMContentLoaded", function(event) {
var all_selects = document.getElementsByTagName('select');
for (var i in all_selects) {
@ -14,5 +26,12 @@ document.addEventListener("DOMContentLoaded", function(event) {
break;
}
}
// Add eventlistener to change is-invalid state and run once
xsel.addEventListener('change', checkValidity);
var event = document.createEvent('HTMLEvents');
event.initEvent('change', true, true);
console.log('Event is: %o', event);
xsel.dispatchEvent(event);
}
});