Newsgroup: it.comp.lang.javascript
Titolo: JavaScript che non ne vuole sapere di funzionare

Ho fatto un programmino per la gestione di una serie di dati che appaiono in
una tabella onMouseOver.
In locale tutto va bene, senza alcuna segnalazione, ma on line errori,
ERRORI...
Potete darmi una mano? Sempre se vi garba! Vi ringrazio!
Solo per oggi è visibile come menubar al seguente indirizzo:
www.sassarionline.net
La prima riga di menu ha i dati inseriri e modificabili da admin di PhPnUkE!
e la funzione mostra o show dovrebbe far apparire un sottomenu!
Di nuovo grazie!
Ho localizzato l'errore nella funzione mostra.
Questa è la definizione:
$solmenu .= "<table width=\"$sol_width\" height=\"$sol_table_height\"
border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr
bgcolor=\"$sol_bgcolor\"><td width=\"1\">&nbsp;</td>\n";
for($i=0;$i < $menu_number;$i++){
$solmenu .=  "<td width=\"".$menu[$i]->WIDTH."\" align=\"center\"
onMouseOver=\"bgColor='".$sol_mocolor."'\"
onMouseOut=\"bgColor='".$sol_bgcolor."'\">\n
<a class=\"menu\" href=\"".$menu[$i]->URL."\"
target=\"".$menu[$i]->TARGET."\"
onMouseOver=\"mostra('Menu".$i."',1,this,$menu_left[$i]);
window.status='".$menu[$i]->TITOLO."';  return
false;\"><span>".$menu[$i]->TITOLO."</span></a></td>\n";
}
$solmenu .= "<td>&nbsp;
     </td>
     </tr>
     </table>";
-----------------------------
OVVIAMENTE preceduta dal JS che segue:
-----------------------------
echo "
<script language=\"javascript\">
var contain = new Array();
var contain2 = new Array();
var checkIt;
var DHTML = (document.getElementById || document.all || document.layers);
function mostra(name,lvl,obj,left)
{
        if (!DHTML) return;
        checkUserInput();
 if (window.innerWidth) {
          ScreenW = window.innerWidth
 }
 else if (document.body) {
         if (document.body.clientWidth) {
                 ScreenW = document.body.clientWidth
         }
 }
        if (contain[lvl] && contain[lvl] == name) return;
        if (contain[lvl])
        {
                closeAll(lvl);
        }
        if (name)
        {
                var x = getObj(name);
                x.visibility = 'visible';
  if (ScreenW > 740) {
   x.left = Math.abs((ScreenW/2) - 750/2 +left)
  } else {
   x.left = left+20
  }
        }
        contain[lvl] = name;
        if (obj.parentNode) y = obj.parentNode;
        else if (obj.parentElement) y = obj.parentElement;
        else return;
        if (y.className) return;
        y.className = 'over';
        if (contain2[lvl]) contain2[lvl].className = '';
        contain2[lvl] = y;
}
</script>";

Dovresti cercare di circoscrivere il problema per ottenere risposte.
Apparentemente usi PHP, ma č imporbabile che qualcuno si metta a fare il
debug di entrambi i codici. Se riesci a isolare meglio il problema, su
codici piů ristretti troverai senz'altro qualcuno disposto ad investire 15
minuti, oltre quelli tu capisci che č improbabile: il tuo codice dovrebbe a
quel che dici anche essere testato online
Comunque, pregevole questo:
var DHTML = (document.getElementById || document.all || document.layers);
bravo! Occhio comunque che non ritorna un booleano.
ciao
Alberto

 minuti, oltre quelli tu capisci che è improbabile: il tuo codice dovrebbe


 ha scritto nel messaggio
news:eHQU9.2727$ZE.8...@twister2.libero.it...
