В основном форма имеет только два следующих события: onreset, onsubmit.Вы можете сделать обходной путь:
window.onload=(function ()
{
var Form=
{
w3c: !!window.addEventListener,
addEvent: function (form,type,listener)
{
var inputs=form.elements;
for (var i=0,l=inputs.length; i<l; ++i)
{
var input=inputs[i];
if (this.w3c)
{
input.addEventListener(type,listener,false);
}
else
{
input.attachEvent("on"+type,listener);
}
}
},
fixEvents: function (form)
{
var eventPattern=/^on(\w+)$/;
var attribute;
for (var i=0,l=form.attributes.length; i<l; ++i)
{
var attribute=form.attributes.item(i);
var name=attribute.name;
var value=attribute.value;
if (eventPattern.test(name) && !form[name])
{
var type=eventPattern.exec(name)[1];
var listener=new Function(value);
this.addEvent(form,type,listener);
}
}
}
};
return function ()
{
var forms=document.getElementsByTagName("form");
for (var i=0,l=forms.length; i<l; ++i)
{
Form.fixEvents(forms[i]);
}
};
})();