Do you have an old version of web2py.js? In the current version, it is: jQuery('.error', target).hide().slideDown('slow');
Note that the jQuery selector now includes "target", which limits it to just the component div when the component is loaded. I think that should prevent the double display -- when the component loads, it won't affect anything in the outer page. Anthony On Monday, January 23, 2012 6:13:21 PM UTC-5, Jim Karsten wrote: > > If a page has a component, the validation error messages may display a > second time. In web2py_ajax.html the function web2py_ajax_init() gets > called twice, first when the main page loads called by > *jQuery(document).ready(function() > {});* and second when the component loads, called by function * > web2py_ajax_page()*. If the component loads quickly, the second display > may not be visible. I am working with a component that has a minor delay as > it loads data and the validation errors on the main page form display, then > hide and display again. > > I made this change to function web2py_ajax_init() > was: > jQuery('.error').hide().slideDown('slow'); > now: > jQuery('.error').each( function () > { > > > if (! jQuery(this).data('_error_shown')) > { > jQuery(this).hide().slideDown('slow').data('_error_shown', > 1); > > } > }); > > Each error message displays only once now. >