You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Benjamin Boksa <ma...@boksa.de> on 2009/01/23 15:01:48 UTC
[workaround] validation-message on tabs when using ajax
Hi All,
I use the snippet below to enable the "validation-icon on tab" effect
when using tab-styled groups in my ajax-enabled form template. As
there were some discussions about this some months ago I thought some
of you might be interested. Please be aware that this is only a
(ugly?) workaround to enable the effect and that I am not a dojo 0.4.3-
guru, however it works for me (tested on Safari 3.2.1/Mac, FF 3.0.1/
Mac, IE 7/Win).
The function must be called after the AJAX-response has been processed
- I call it in my extended cocoon.forms.AjaxForm right after
"updater.processResponse(data);".
If you have any questions/improvements let me know about them. Hope
that helps some of you.
Regards
Benjamin
_addValidationMessageIconToTabs: function() {
var span; // this will be initialized below only when needed
var tabAreas = dojo.html.getElementsByClass('forms-tabArea
forms tabArea');
dojo.lang.forEach(tabAreas,
function(tabArea) {
var parent = tabArea.parentNode; // no wrapper for
parentNode in dojo 0.4.3?!
var tabs = dojo.html.getElementsByClass('forms-tab
forms tab', tabArea);
dojo.lang.forEach(tabs,
function(tab, index) {
var tabContent =
dojo.html.getElementsByClass('forms-tabContent forms tabContent',
parent)[index];
var validationMsgs =
dojo.html.getElementsByClass('forms-validation-message-popup',
tabContent);
if (validationMsgs.length !== 0) {
if (!span) {
span =
document.createElement('span'); // no wrapper for createElement in
dojo 0.4.3?!
dojo.html.addClass(span, 'forms-
validation-message forms validation-message');
var img =
document.createElement('img');
img.setAttribute('src',
'servlet:forms:/resource/external/forms/js/templates/images/validation-
message.gif', 0);
dojo.dom.insertAtPosition(img, span,
'last');
}
if (dojo.html.getElementsByClass('forms-
validation-message forms validation-message', tab).length === 0) {
dojo.dom.insertAtPosition(span.cloneNode(true), tab, 'last'); // no
wrapper for cloneNode in dojo 0.4.3?!
}
}
}
);
}
);
},
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org