This repository has been archived on 2025-03-31. You can view files and clone it, but cannot push or open issues or pull requests.
php-frs/js/frs.js
2016-05-29 02:50:54 +02:00

37 lines
1.2 KiB
JavaScript

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) {
if (!all_selects.hasOwnProperty(i)) {
continue;
}
var xsel = all_selects[i];
var xvalue = xsel.dataset.value;
//console.log('Value of %o = %o', xsel, xvalue);
// Walk all options, compare to desired value and set if matches
for (var o in xsel.options) {
if (xsel.options[o].value == xvalue) {
xsel.selectedIndex = o;
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);
xsel.dispatchEvent(event);
}
});