event.preventDefault() function not working in IE

events, internet-explorer, javascript, mootools, preventdefault

Solution

in IE, you can use

event.returnValue = false;

to achieve the same result.

And in order not to get an error, you can test for the existence of preventDefault:

if(event.preventDefault) event.preventDefault();

You can combine the two with:

event.preventDefault ? event.preventDefault() : (event.returnValue = false);

Problem

Following is my JavaScript (mootools) code: ``` $('orderNowForm').addEvent('submit', function (event) { event.preventDefault(); allFilled = false; $$(".required").each(function (inp) { if (inp.getValue() != '') { allFilled = true; } }); if (!allFilled) { $$(".errormsg").setStyle('display', ''); return; } else { $$('.defaultText').each(function (input) { if (input.getValue() == input.getAttribute('title')) { input.setAttribute('value', ''); } }); } this.send({ onSuccess: function () { $('page_1_table').setStyle('display', 'none'); $('page_2_table').setStyle('display', 'none'); $('page_3_table').setStyle('display', ''); } }); }); ``` In all browsers except IE, this works fine. But in IE, this causes an error. I have IE8 so while using its JavaScript debugger, I found out that the `event` object does not have a `preventDefault` method which is causing the error and so the form is getting submitted. The method is supported in case of Firefox (which I found out using Firebug). Any Help?

Original source

Related problems