Visualizzazione dei risultati da 1 a 5 su 5

Discussione: visibilità variabile

  1. #1

    visibilità variabile

    salve a tutti,

    ho questo codice:

    codice:
    for(var i=0;i<arrayPunti.length;i++){
     ...
     var idpunto = "punto" + i;
     document.getElementById(idpunto).onclick = function(){
      document.getElementById('formpuntiinteresse').action = "'" + arrayPunti[i].url + "'";
      document.getElementById('formpuntiinteresse').submit();
     }
    }
    come mai l'interprete mi dice che arrayPunti[i] non è definito? come lo rendo visibile, nell'ambito di function()?

    grazie. :)

    saluti

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    1) Ma arrayPunti cos'è?
    2) Sicuro che sia presente nel form?
    3) Quando richiami quel ciclo?

    Si + preciso e dettaglio postando anche il form e la funzione completa oppure un link alla pagina pubblica.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    ciao cavicchiandrea, grazie per la tua risposta. :)

    Originariamente inviato da cavicchiandrea
    1) Ma arrayPunti cos'è?
    è un array di oggetti, sul quale eseguo un loop con quel for.

    2) Sicuro che si presente nel form?
    cosa?

    3) Quando richiami quel ciclo?
    lo richiamo al caricamento della pagina, per cui il form è disponibile.

    Si + preciso e dettaglio postando anche il form e la funzione completa oppure un link alla pagina pubblica.
    :ciauz:
    il form è questo:

    codice:
    	<form id="formpuntiinteresse" name="formpuntiinteresse" action="" method="post">
    		<input type="hidden" name="urlpuntiordinati" id="urlpuntiordinati"/>
    		<input type="hidden" name="puntopartenza" id="puntopartenza"/>
    	</form>
    ma non penso sia utile... il problema è la non visibilità di arrayPunti in function() (ovviamente nella sezione del ciclo che precede function(), arrayPunti è visible e utilizzabile correttamente).

    grazie. :)

    saluti

  4. #4
    risolto così, nel caso fosse utile a qualcuno:

    codice:
    var idpunto = "punto" + i;
    document.getElementById(idpunto).numberID = i;
    document.getElementById(idpunto).onclick = function(){
    	            document.getElementById('formpuntiinteresse').action = arrayPunti[this.numberID].url;
    	            document.getElementById('formpuntiinteresse').submit();
    }
    saluti

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    EDIT:
    Ho letto ora che hai risolto scusa.

    Sinceramente cmq il prob sta sempre nello scope delle var.

    E visto che usi oggetti bisogna che fai particolare attenzione ai this.campo alle var.campo dai
    campo

    Visto che js supporta chiusura.

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.