Buongiorno a tutti,
scrivo in quanto, dopo una ricerca nel forum, non sono riuscito a trovare una soluzione. Spiego il problema: ho realizzato un form che fa parte di un sito sviluppato con Joomla! 1.6 strutturato in "sezioni" (fieldset). Inizialmente è visibile solo il legend dei fieldset. Cliccando sul simbolo "+" presente accanto al legend, il fieldset si espande e mostra tutti i campi disponibili.
Ora, io ho trovato su un sito web questo codice:
Il tutto funziona perfettamente. La mia necessità perl è che tale funzione di espansione/collasso sia realizzabile anche cliccando sul testo del legend e non soltanto sul simbolo. E' possibile? Immagino di si, il problema è capire come, in quanto non sono un gran intenditore di Javascript.codice:<script type="text/javascript"> function constructCollapsableFieldsets() { var allFsets = document.getElementsByTagName('fieldset'); var fset = null; for (var i=0; i<allFsets.length; i++) { fset = allFsets[i]; if(fset.attributes['collapsed']!=null) constructCollapsableFieldset(fset, fset.attributes['collapsed'].value); } } //for collapsable fieldset: function constructCollapsableFieldset(fset, collapsed) { //main content: var divContent = fset.getElementsByTagName('div')[0]; if (divContent == null) return; if (collapsed == 'true') divContent.style.display = 'none'; //+/- ahref: var ahrefText = getAHrefForToogle(collapsed); //legend: var legend = fset.getElementsByTagName('legend')[0]; if (legend != null) legend.innerHTML = ahrefText + legend.innerHTML; else fset.innerHTML = '<legend>' + ahrefText + '</legend>' + fset.innerHTML; } function getAHrefForToogle(collapsed) { var ahrefText = "<a onClick='toogleFieldset(this.parentNode.parentNode);' style='text-decoration: none;'>"; ahrefText = ahrefText + getExpanderItem(collapsed) + "</a>"; return ahrefText; } function getExpanderItem(collapsed) { var ecChar; if (collapsed=='true') ecChar='+'; else ecChar='-'; return ecChar; } function toogleFieldset(fset) { var ahref = fset.getElementsByTagName('a')[0]; var div = fset.getElementsByTagName('div')[0]; if (div.style.display != "none") { ahref.innerHTML=getExpanderItem('true'); div.style.display = 'none'; } else { ahref.innerHTML=getExpanderItem('false'); div.style.display = ''; } } //--> </script>
Grazie anticipatamente a tutti, buona giornata,
Luca

Rispondi quotando