Index: core/src/main/javascript/submit.js =================================================================== --- core/src/main/javascript/submit.js (revision 21848) +++ core/src/main/javascript/submit.js Sun Aug 29 13:19:46 EEST 2010 @@ -152,7 +152,7 @@ function fullSubmit(execute, render, event, element, additionalParameters) { event = event || null; - var disabled = document.getElementById(element.id+":ajaxDisabled"); + var disabled = element && document.getElementById(element.id+":ajaxDisabled"); if (disabled) { var disabledArray = disabled.value.split(" "); var l = disabledArray.length; Index: core/src/main/javascript/application.js =================================================================== --- core/src/main/javascript/application.js (revision 21848) +++ core/src/main/javascript/application.js Sun Aug 29 13:40:03 EEST 2010 @@ -77,6 +77,9 @@ function configurationOf(element) { return detect(parents(element), function(e) { return e.configuration; + }, function() { + //fail over to body element in case the 'element' doesn't have parents + return document.body; }).configuration; } @@ -175,13 +178,14 @@ f[name] = function(e) { var event = e || window.event; var element = event.target || event.srcElement; - var disabled = document.getElementById(id+":ajaxDisabled"); - if ( (disabled) && - (disabled.value.indexOf(" " + element.id + " ") >= 0) ) { + var elementID = element.id; + var disabled = document.getElementById(id + ':ajaxDisabled'); + if (disabled && disabled.value.indexOf(' ' + elementID + ' ') >= 0) { return true; } f.onsubmit = function() { - submit(event, element); + var el = (elementID && document.getElementById(elementID)) || triggeredBy($event(event, element)); + submit(event, el); f.onsubmit = none; return false; };