form-cheatsheet/src/index.js

44 lines
1.0 KiB
JavaScript

import {basename} from './functions';
import each from './form-elements-each';
import Doc from './doc';
// Just kill form submission
Doc.getByTag('form')[0].onsubmit = function (e) {
e.preventDefault();
e.stopPropagation();
console.log(`Form 'submit' event fired.`);
return false;
};
// What polyfills did we have to load?
const $polyfillPattern = /\/polyfills\//;
const scriptList = Doc.scripts().filter(file => {
return $polyfillPattern.test(file.getAttribute('src'))
});
if (scriptList.length > 0) {
const polyfillList = [];
scriptList.forEach(file => {
const src = file.getAttribute('src');
const name = basename(src).replace('.js', '')
.replace('.min', '');
const el = `<li>${name}</li>`;
if (!polyfillList.includes(el)) {
polyfillList.push(el);
}
});
const tag = Doc.getById('polyfills-loaded');
tag.innerHTML = '<h3>Polyfills loaded by this browser:</h3>';
tag.innerHTML += `<ul>${polyfillList.join("\n")}</ul>`;
}
// Get each form field's html and syntax highlight it
Doc.qsa('.form-field').forEach(each);