Pagina 1 di 1

[Risolti entrambi!][Javascript] CSS, quando IE capisce e FF no...

Inviato: lunedì 29 settembre 2008, 21:48
da Archimede Pitagorico
Signori,
vi partecipo di due disavventure accadutemi con Mozilla Firefox in merito alla mia web application.

Data una semplicissima casella input text, e date due funzioni associate:

Codice: Seleziona tutto

onactivate="jsfEleEnt('userbox', 'styTxtBoxAct');" ondeactivate="jsfEleEnt('userbox', 'styTxtBox');"
che richiamano

Codice: Seleziona tutto

function jsfEleEnt(EleId, EleStyle){
   document.getElementById(EleId).className = EleStyle;
}

function jsfEleExi(EleId, EleStyle){
   document.getElementById(EleId).className = EleStyle;
}
riferite alle omonime funzioni javascript che in pratica modificano il colore di sfondo della casella quando il puntatore vi entra, noto che con Explorer funziona tutto correttamente (anche vecchie version) mentre con Firefox no. Qual è il problema? Esistono comandi che fanno più o meno le stesse cose e che sono meglio visti da Firefox?

Inoltre, una cosa stranissima. La seguente funzione javascript filtra le righe di una tabella a quelle compatibili ad una chiave di ricerca inserita in una text box il cui evento onKeyUp è appunto collegato a tale funzione.

Codice: Seleziona tutto

function dataFilter (table, key){
   var baseKey;
   var activeKey = key.value.toLowerCase();   
   var activeTable = document.getElementById(table);   
   for (var i = 0; i < activeTable.rows.length; i ++){   
      baseKey = activeTable.rows[i].cells[0].innerHTML; 
      baseKey = baseKey.slice(baseKey.indexOf('value')+6, baseKey.indexOf('></INPUT>')).toLowerCase();      
      if (baseKey.indexOf(activeKey)>=0){ 
         activeTable.rows[i].style.display = 'block';
      }
      else
      {
         activeTable.rows[i].style.display = 'none';
      }      
   } 
}
In IE funziona benissimo. In FF a volte funziona, altre volte refreshando la pagina la tabella mostra le righe compatibili ma lascia spazi vuoti tra una riga e l’altra, ovvero è come se l’attributo visibile=‘none’ producesse la semplice non visibilità della riga lasciando tuttavia una riga bianca. Qualcuno di voi conosce un sostituto della proprietà visible=’none’ che stia simpatico anche a FF?

Archimede

Re: [Java] CSS, IE capisce e FF no: si sono invertiti i ruoli? Speriamo di no...

Inviato: martedì 30 settembre 2008, 0:25
da Zoff
Il problema sta a monte :D

onactivate e onunactivate non sono standard html...

Gli eventi html standard li trovi qui.

Per cui è normale che FF non conosca il dialetto inventato da MS per IE.

Se è solo per rilevare il mouse usa onmouseover e onmouseout.

ciauz

Re: [Java] CSS, IE capisce e FF no: si sono invertiti i ruoli? Speriamo di no...

Inviato: martedì 30 settembre 2008, 9:02
da Archimede Pitagorico
Sei stato gentilissimo. Il problema al quale hai risposto è risolto, e quella pagina è già tra i miei preferiti! Nessuna dritta per quello relativo al filtro dati? Grazie ancora.

Re: [Java] CSS, IE capisce e FF no: si sono invertiti i ruoli? Speriamo di no...

Inviato: martedì 30 settembre 2008, 9:28
da Stealth
Archimede Pitagorico ha scritto: ......Il problema al quale hai risposto è risolto.....
Ottimo, allora lo scriviamo nel titolo del primo post (tasto modifica), in modo che chi cercasse per un problema simile troverebbe più facilmente la soluzione. Questo lo metto io, ricordatene la prossima volta  ;)
ciao

Re: [Java] CSS, IE capisce e FF no: si sono invertiti i ruoli? [Risolto]

Inviato: martedì 30 settembre 2008, 9:41
da ryuujin
dato che si tratta di Javascript e non di JAVA, direi di mettere nel soggetto [JAVASCRIPT] e non [JAVA] ;)

r.

Re: [Javascript] CSS, IE capisce e FF no: si sono invertiti i ruoli? [Risolto]

Inviato: martedì 30 settembre 2008, 10:21
da Archimede Pitagorico
Risolto anche il secondo (se può esservi utile) con una semplice condizione di riconsocimento browser.

GRAZIE A TUTTI!