I have a form that will be submitted by javascript code triggered in \"onsubmit\" of the tag. Works fine on all browsers - but not on IE7/IE8.
What can I do?
<To cancel an event in legacy IE, you need to set returnValue
to false
. Simply returning false
won't do it. I don't know why Microsoft implemented it in this way.
function validateForm(evt) {
// if form is not valid
if(!condition) {
// if evt has preventDefault
if(evt.preventDefault)
{ event.preventDefault(); }
// if evt has returnValue
else if(evt.returnValue)
{ evt.returnValue = false; }
// fallback
else
{ return false; }
}
}
// assume form is reference to your form
form.attachEvent('onsubmit',validateForm);
Several ideas proposed here work (because they use different ways to write correct code), but there is a much easier answer
OP wrote :
onsubmit="submitmyform();"
instead of :
onsubmit="return submitmyform();"
That's it.