function clickCountryFlag(element) { if (!element) return false; var form = element.target.closest("form"); if (!form) return false; form.submit(); return false; } /* Set JS events by EventListener to prevent problems with CSP*/ document.addEventListener("DOMContentLoaded", function (event) { /* Element.closest polyfill - https://developer.mozilla.org/en-US/docs/Web/API/Element/closest License: public domain*/ if (!Element.prototype.matches) Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector; if (!Element.prototype.closest) Element.prototype.closest = function (s) { var el = this; if (!document.documentElement.contains(el)) return null; do { if (el.matches(s)) return el; el = el.parentElement || el.parentNode; } while (el !== null && el.nodeType === 1); return null; }; /* set Click events by EventListener to prevent JavaScript in HTML which can be a problem with CSP*/ var allFlags = document.getElementsByClassName("countryimage"); for (i = 0; i < allFlags.length; i++) { if (allFlags[i].getAttribute("disabled") == null) { allFlags[i].closest("a").addEventListener('click', clickCountryFlag, false); } } });