Well, if you want to call yourself a web developer... it's probably about time you learnt a bit of javascript ;)
The jquery version would probably look something like: T5.extendInitializers({ observe: function (spec) { $('#' + spec.id).on(spec.event, function() { var params = {}; if (spec.fieldIds) { for (var i = 0; i < spec.fieldIds.length; ++i) { var fieldId = spec.fieldIds[i]; var paramName = "observe" + i; var paramValue = $('#' + fieldId).val(); params[paramName] = paramValue; } } var zoneManager = Tapestry.findZoneManagerForZone(spec.zone); zoneManager.updateFromURL(spec.url, params); }); } }); Please note, it's untested and I'm not that familiar with tapestry-jquery. I'm not even sure if Tapestry.findZoneManagerForZone(...) has been implemented in tapestry-jquery.