MktoForms2 :: Destyle Marketo form
HTML
<script src="//app-ab09.marketo.com/js/forms2/js/forms2.min.js"></script>
<form id="mktoForm_1473"></form>
JavaScript
/*
* Create a completely barebones, user-styles-only Marketo form
* by removing inline STYLE attributes and disabling child STYLE elements
*/
MktoForms2.loadForm("//app-ab09.marketo.com", "729-DHM-431", 1473);
MktoForms2.whenRendered(function (form) {
var formEl = form.getFormElem()[0],
_forEach = Function.prototype.call.bind(Array.prototype.forEach);
// remove element styles from root and children
_forEach(document.querySelectorAll('#' + formEl.id + ', #' + formEl.id + ' [style]'),function(el){
el.removeAttribute('style');
});
// disable all Marketo-sourced stylesheets
_forEach(document.styleSheets,function(ss) {
var ssLoc = document.createElement('A');
ssLoc.href = ss.href;
if ( /\.marketo\.com$/.test(ssLoc.hostname) // external STYLEs
||
((ss.ownerNode || ss.owningElement).parentNode == formEl)) { // inline STYLEs within FORM tag
ss.disabled = true;
}
});
});