Basically, a form has only the following two events: onreset, onsubmit. You can do a workaround:
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]); } }; })();
inf3rno
source share