Thanks for the report. It probably never happened to me because I never 
used only 1 group, what in fact is not very likely. I will modify the JS 
code (that is one of the oldest parts, I guess, something from the very 
beginning...) for the next versions.

armin

Alessandro Pasotti wrote:
> Hello,
> 
> I've spent a few hours trying to understand this strange behaviour:
> 
> I have 1 test layer (and hence only 1 test group), almost everything was set 
> to defaults.
> 
> Procedure in firefox:
> 
> - Clicking on the checkbox in the toc unchecks it and refresh the map with no 
> layers loades (map is blank), as expected
> - Clicking again on the checkbox, reloads the map but DO NOT LOAD ANY LAYER.
> 
> This happens because in javascript/mapserver.js line 336
> 
>     for (var i=0; i<parent.tocFrame.document.layerform.groupscbx.length; i++) 
> 
> parent.tocFrame.document.layerform.groupscbx.length is undefined if there is 
> just one htmlinput element.
> 
> 
> Adding an "if" check solved the problem for me:
> -----------------------------------------------
> 
> function getLayers() {
>     var layerstring = "&groups=";
>     if(parent.tocFrame.document.layerform.groupscbx.length){
>     for (var i=0; i<parent.tocFrame.document.layerform.groupscbx.length; i++) 
> {
>             if (parent.tocFrame.document.layerform.groupscbx[i].checked == 
> true) {
>                 layerstring += 
> parent.tocFrame.document.layerform.groupscbx[i].value+'+';
>       }
>     }
>     } else {
>       if (parent.tocFrame.document.layerform.groupscbx.checked == true){
>         layerstring += parent.tocFrame.document.layerform.groupscbx.value+'+';
>       }
>     }
> 
>     layerstring = layerstring.substr(0, layerstring.length - 1);
>     return layerstring;
> }
> 
> 

Reply via email to