L'oggetto che corrisponde a target è un input (textbox) che creo sempre tramite javascript e gli assegno l'id con:
votobox.id="v"+i;
comunque usando:
codice:
imgtastiera.addEventListener('click', function(){
inserisciVoto(j,idsond);
});
adesso gli arrivano i giusti parametri ma continua a dire:
Uncaught TypeError: Cannot read property 'value' of null
at inserisciVoto (main.js:46)
at HTMLImageElement.<anonymous> (main.php?p=bacheca:225)
Il parseint non credo c'entri qualcosa visto che il target è un textbox e io vado a considerare il value che è un numero...
AGGIORNAMENTO:
indagando ancora più a fondo ho notato che ogni volta gli passa come valore di "j" il numero 6... quindi il problema sta qui ma non capisco come sia possibile che gli passi 6 se nel ciclo la j scorre da 0 a 5 e io glielo passo nel ciclo... ho provato anche a cambiare nome a j ma niente... passa sempre 6!
codice:
for(var j=0;j<6;j++)
{
var imgtastiera=document.createElement("img");
imgtastiera.id="idimgtastiera"+j;
var idsond=matrice[d][0];
imgtastiera.addEventListener('click', function(){
inserisciVoto(j,idsond);
});
tastierabox.appendChild(imgtastiera);
}
Se risolviamo sto fatto che passa "6" come j allora è tutto apposto visto che funziona tutto il resto e funziona passandoci i valori a mano.
AGGIORNAMENTO 2:
Ho capito il perché. Il valore della variabile j viene interrogato solo nel momento in cui la funzione viene richiamata e cioè quando ci si clicca sopra e quindi dopo che il ciclo è concluso e la variabile ha raggiunto lo stato in cui viola la condizione, ovvero 6.... ora il problema è... come risolvere?!