Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di darrel
    Registrato dal
    Aug 2002
    Messaggi
    129

    passaggio id tra funzioni

    Salve a tutti,
    il mio problema è che ho una funzione a cui viene passato un id tramite un link


    codice:
    function Votazione(ID, Voto) {
    var url = "admin/vota.asp?id=" + ID + "&voto=" + Voto;
    XMLHTTP = RicavaBrowser(CambioStato);
    XMLHTTP.open("GET", url, true);
    XMLHTTP.send(null); }
    ora ho bisogno che questo id sia scritto in un altra funzione sempre nello stesso file .js cioè questa:

    codice:
    function CambioStato() {     
    if (XMLHTTP.readyState == 4)     
    {var mess = document.getElementById("messaggio")         
    mess.innerHTML = XMLHTTP.responseText;     } }
    In pratica vorrei che la variabile mess si chiamasse messaggio1, messaggio2, ecc. in base all'id passato...si può fare??
    E tu saprai che il mio è il nome del Signore...
    quando farò calare la mia vendetta sopra di te!!!

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Quando richiami CambioStato non puoi passaargli l'id?
    CambioStato(ID)

    Poi concateni i valori: var mess+ID = ....

  3. #3
    Utente di HTML.it L'avatar di darrel
    Registrato dal
    Aug 2002
    Messaggi
    129
    grazie della risposta...CambioStato non la richiamo io ma la funzione Votazione...dici che se ID è presente in una funzione la posso richiamare in un altra? però mi sembra più corretto che concateni il contenuto di mess e non mess+ID se no la variabile resta sempre messaggio...

    tipo: var mess = document.getElementById("messaggio") + ID
    mess.innerHTML = XMLHTTP.responseText;

    o no? comunque anche cosi non funziona
    E tu saprai che il mio è il nome del Signore...
    quando farò calare la mia vendetta sopra di te!!!

  4. #4
    Utente di HTML.it L'avatar di darrel
    Registrato dal
    Aug 2002
    Messaggi
    129
    per chiarezza, il mio problema nasce dal fatto che sto mostrando dei record di un database di canzoni con la votazione in ajax...solo che quando voto, il messaggio "grazie per aver votato" mi spunta sempre nel primo record...mettendo l'id della canzone nella variabile messaggio, il messaggio dovrebbe apparire a livello della canzone che sto votanto...spero di essere stato chiaro...
    E tu saprai che il mio è il nome del Signore...
    quando farò calare la mia vendetta sopra di te!!!

  5. #5
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, non avevo capito bene cosa dovevi fare.
    Se devi ricavare un nome id in base al numero passato puoi tranquillamente concatenare il nome per ricavare l'id:

    var mess = document.getElementById("messaggio"+ID)

  6. #6
    Utente di HTML.it L'avatar di darrel
    Registrato dal
    Aug 2002
    Messaggi
    129
    ho provato anche questa soluzione...ma la variabile mi risulta null. ho provato sia passando l'id tramite link sia utilizzando l'ID della funzione sopra...ma se per caso ID fosse vuoto la variabile non dovrebbe almeno essere "messaggio"? perchè mi da valore null?

    ho provato anche con
    var messi = "messaggio" + ID
    var mess = document.getElementById(messi)

    ma niente...sempre null

    grazie del tuo tempo...
    E tu saprai che il mio è il nome del Signore...
    quando farò calare la mia vendetta sopra di te!!!

  7. #7
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    La variabile messi dovebbre esistere con numero o meno accodato se la crei nella funzione.
    Non e' che questi tag vengono creati dinamicamente e non vengono presi quindi?
    Se fai

    var messi = "messaggio" + ID;
    alert(messi) per forza di cose dovresti vedere il nome assegnato.
    Se viene passato o meno l'id lo vedi anche con un alert(ID)

    Oppure con
    if( document.getElementById(messi) ){
    alert('ESISTE ID '+messi)
    }esle{
    alert('non esiste il tag con id'+messi)
    }

  8. #8
    Utente di HTML.it L'avatar di darrel
    Registrato dal
    Aug 2002
    Messaggi
    129
    con il tuo ciclo mi dice "non esiste il tag con idmessaggio[object ProgressEvent]"...che intendi per dinamicamente? il file .js è incluso nella pagina dove sono visualizzati i record...comunque per adesso ho risolto mettendo il responseText dentro un alert...
    E tu saprai che il mio è il nome del Signore...
    quando farò calare la mia vendetta sopra di te!!!

  9. #9
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    codice:
    function Votazione(ID, Voto) {
    var url = "admin/vota.asp?id=" + ID + "&voto=" + Voto;
    XMLHTTP = RicavaBrowser(CambioStato);
    XMLHTTP.tuoID = ID;
    XMLHTTP.open("GET", url, true);
    XMLHTTP.send(null); }
    e...
    codice:
    function CambioStato() {     
    if (XMLHTTP.readyState == 4)     
    {var mess = document.getElementById("messaggio" + XMLHTTP.tuoID)         
    mess.innerHTML = XMLHTTP.responseText;     } }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.