I've had trouble with this script from IE as well. Caused some big headaches when attendees were trying to register for a webinar and couldn't submit their information.
Worked with our web developer to get this script working. Feel free to try and test. Used BrowserStack to test across browsers using the Marketo embed script. Insert after loadForm line:
form.onValidate(function(valid) {
var email = form.getFormElem().find("#Email");
var validateEmail = function(email) {
var filters = [
"gmail", "yahoo"
],
domain = email.substring(email.indexOf('@') + 1),
parts = domain.split('.');
for(var filter in filters) {
for(var i = 0, ln = parts.length; i < ln; i++) {
if(parts[i].toLowerCase() == filters[filter]) {
return false;
}
}
}
return true;
};
if(validateEmail(email.val())) {
form.submitable(true);
} else {
form.submitable(false);
form.showErrorMessage("Please provide a company email address.", email);
}
});
});</script>