hello again.
well, i've tried here at work and guess what? well, validation wasn't working well with firefox. so, why was it working at home: simple, because i've changed the atlas.js code that i'm using in my pages.
the problem i was getting was related with the way validation was working. after adding elements to the page, i was allways getting a postback. so, several things go wrong here:
1. the update panel isn't working properly with validation because the method that submits the form doesn't verify the state of the validators before doing the submit (i've pointed this problem in several post here)
2. after copying the js files used on the client side validation, i noted that the number of validators on the page was allways 1. using fiddler i could see that they were returning it correctly (there was as script section with 2 validators on it). it was then that i recalled having found a bug related with the way firefox interprets the script nodes returned from the server side. the problem is that to firefox \n is a node while it's discarded in IE (i really don't know which implementation is correct; this is just an observation related with the way both browsers behave). so, the problem was that firefox was executing "\n" (which simply doesn't do anything) while ie was executing the var Page_Validators ... line which redefines the validators arrays.
how to solve these? i've presented a simple solution to number 1 in previous posts
related with number 2, i say that the _updatescripts method of the atlas.js (or atlasruntime.js) has to be modified so that it has this line:
if
(xmlScriptNode.childNodes.length != 0) {
for (var c = xmlScriptNode.childNodes.length - 1; c >= 0; c--) {
var nodeType = xmlScriptNode.childNodes[c].nodeType;
if ((nodeType == 3) || (nodeType == 4) || (nodeType == 8)) {
text = xmlScriptNode.childNodes[c].nodeValue;
if( text == "\n")
{
continue;
}
break;
}
}
}
the bolder bigger lines solve the interpretation issue on firefox. hope this helps.