buon giorno a tutti!! sto sviluppando un'applicazione in joomla ed ho qualche problema con una funzione in javascript!!
sto facendo un gestionale file e l'utente può decidere se bloccare o meno un file. Ogni file ha il suo stato originale che dipende dall'ultimo stato memorizzato!!
ora io ho fatto una funzione javascript che mi cambia lo stato da bloccato a sbloccato ogni volta che l'utente clicca su di un'immagine, l'immagine da verde passa a rossa e l'attributo alt dell'immagine diventa bloccato e viceversa.
poi memorizzo la scelta fatta all'interno di un array; esattamente memorizzo lo stato iniziale del file in un array iniziale e lo stato finale del file in un array finale poi "stampo" i risultati ossia inserisco i dati all'interno di due hidden field con il seguente codice :
codice:
function stampaResult(idRecordToAdd){
blockValue='';
sblockValue='';
for(a=0;a<recordIniValue.length;a++){
if(recordIniValue[a][1] != recordEndValue[a][1] ){
if(recordEndValue[a][1] == 'bloccato'){
blockValue += recordEndValue[a][2]+ "a";
}else{
sblockValue += recordEndValue[a][2]+ "a";
}
}
}
document.getElementById(idHiddenBlocco).value = blockValue;
document.getElementById(idHiddenSblocco).value = sblockValue;
}
questo ogni volta che l'utente clicca su di un'immagine per cambiare il suo stato
Quindi ho due hidden field uno per la lista dei file da bloccare e un per lista dei file da sbolccare sempre aggiornati in modo corretto!!
alla fine prima di cambiare pagina vorrei avvisare che ci sono dei file che devono cambiare il loro stato allora quando clicca su qualsiasi tasto ho messo una funzione confirmFunc che mi visualizza un alert con i file da modificare e tutto funziona correttamente se preme ok reindirizzo la pagina al server ma quando nel server vado a prendere i valori con il jrequest di joomla nulla!! :-(
ho messo tutto in un form e quando clicca per cambiare pagina ho fatto eseguire il submit()...
ma nulla non c'è verso che joomla legga quei valori. anche se ho dei dubbi: con firebug quando guardo il codice della pagina i valori dei campi hidden (<input type="hidden" id="fileDaBloccare" .. value="">..) rimangono sempre nulli!! anche se quando richiamo il loro valore prima del confirm
codice:
function confirmFun(ind){
var elementToBloc = document.getElementById(idHiddenBlocco).value.split("a");
var elementToSbloc = document.getElementById(idHiddenSblocco).value.split("a");
if(elementToBloc){
var test= "da bloccare:\n";
for(i=0;i<elementToBloc.length-1 ;i++){
test += "-"+elementToBloc[i]+"\n";
}
}
if(elementToSbloc){
test += "da sbloccare:\n" ;
for(i=0;i<elementToSbloc.length-1;i++){
test += "-"+elementToSbloc[i]+"\n";
}
}
if(test!="da bloccare:\nda sbloccare:\n"){
if(confirm("Attenzione ci sono i seguenti elementi "+test)){
//document.getElementById(idForm).submit();
window.location.href = 'index.php?option=com_mioComponente&controller=managementFile&view=managementFile';
}
}else{
window.location.href = ind;
}
}
come potete vedere prendo il valore di quei campi e l'alert visualizza tutto in modo corretto(mentre per firebug sono tutti nulli)!! forse è firebug che non aggiorna in tempo reale i dati o sbaglio a scrivere il loro valore nella funzione stampaResult? avete qualche altro suggerimento?? sto impazzendo
grazie in anticipo a chi mi può dare un consiglio