Newsgroup: it.comp.lang.javascript
Titolo: IE onclick

Ciao a tutti,
Sono un novizio per quel che riguarda la programmazione JavaScript e DHTML
perciň spero che mi possiate aiutare.
Ho aggiunto dinamicamente (Javascript) delle righe ad un tabella.
Adesso vorrei associargli la gestione di un evento ad esempio onmouseover
Come faccio?
Ho provato a passargli il codice dell'evento nella proprietŕ della riga ma
non mi funziona.
Se invece gli passo il puntatore di una mia funzione funge.
Domanda. Quest'ultima č l'unica soluzione?
Grazie
Daniele

 Grazie
Non so' se puo' aiutarti questo esempio:
..
..
<SCRIPT language="javascript">
 function invia()
 {
 document.ModRiga.submit();
 }
</SCRIPT>
..
..
<TABLE>
<FORM NAME="ModRiga" METHOD=post action="AgentiP/HCGIR11R.pgm?">
<INPUT TYPE=hidden name=ACTION value="ChgRig">
etc.etc.
etc.etc.
<TD class="ce"><INPUT TYPE="radio" NAME=NRRREC VALUE="000004370"
onClick="invia()"</TD>
etc.
In questo esempio se un utonto preme la scelta, richiamo la funzione invia
che sottomette il form. Puoi cambiare il TYPE=xxxx a seconda di quello che
vuoi.
Ciao

Ti ringrazio per l'attenzione, ma il mio problema è un altro.
La riga che mi creo non è in html ma l'aggiungo con javascript.
Faccio un esempio chiarificativo (javascript):
    // Richiamo il metodo insertRow della tabella miaTabella.
    NuovaRiga  = document.all.miaTabella.insertRow()        ;
    // Quindi inserisco una cella alla mia nuova riga
    NuovaCella = NuovaRiga.insertCell()     ;
    // Ci scrivo qualcosa
    NuovaCella.innerText = "MA CIAO"    ;
    // E ho la presunzione di associargli un evento come da MSDN
    NuovaCella.onclick = "alert('sthooo')"    ;  // Non funge
    // In alternativa provo a passargli il puntatore di una funzione
precedentemente definita senza argomenti come da MSDN pure.
    // NuovaCella.onclick = miaFunzione     ;  Che funge, ma a me, per
motivi che non sto qui a spiegare, servirebbe l'altro metodo
C'è un altro metodo che voi conosciate per gestire l'evento oppure sbaglio
qualcosa o ancora quello che voglio fare non si può fare?
Grazie ciao

 Daniele
Ho risolto il mio problema associando l'evento alla tabella definita in html
(procedura convenzionale), ho poi associato alle righe create da codice un'
attributo identificativo, quindi ho interrogato il srcElement dell'oggeto
event circa il medesimo risalendo quindi alla cella che lo ha generato e
all'operazione da compiere.
Se qualcuno conosce qualche altra strada più "pulita" sarò felicissimo di
seguirla.
Grazie e scusate il disturbo!
Ciao


Non potendo scrivere con innerHTML o insertAdjacentHTML in una tabella
credo che l'unico modo di attivare un evento per una cella sia quello
dell'associazione, che comunque puoi fare direttamente sulla cella
catturandone poi con srcElement l'id o il name senza spostarti nella
gerarchia degli elementi.
Se l'operazione da compiere non e' particolarmente elaborata di do
un'idea sempre poco "pulita":
inserisci l'operazione da fare come valore di un nuovo attributo (puoi
usare anche il name se non serve per altro) esempio:
--------------------
function ciao(){
 eval(event.srcElement.azione);
}
    NuovaRiga  = document.all.miaTabella.insertRow();
    NuovaCella = NuovaRiga.insertCell()     ;
    NuovaCella.innerText = "MA CIAO"    ;
    NuovaCella.azione="alert('ciao')"
    NuovaCella.onclick = ciao
---------------------
Non accetto critiche per questo obbrobrio :-)))
Saluti, Paolo