Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    794

    problema passaggio variabili in una funzione

    Salve a tutti.

    Ho questo codice:

    codice HTML:
    document.getElementById('nome_stato'+ciudad).innerHTML="<a href='javascript: animacion1('+ciudad+',''+colore+')' style='color: "+colore+"' >"+document.getElementById(ciudad).innerHTML+"</a>";
    Non riesco a fare in modo che le variabili ciudad e colore siano 'valore_ciudad' e 'valore_colore' e quindi quando richiamo la funzione nel link mi dà errore.

    Come posso risolvere'

    grazie mille e saluti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    794
    Quote Originariamente inviata da _Marco_87 Visualizza il messaggio
    Manca una parte: le variabili 'ciudad' e 'colore' come le generi? Al momento l'unica cosa che si capisce è che esiste in teoria un id denominato 'nome_stato+Altro..'.
    Le variabili vengono generate in un altro punto. Se io lancio questo codice, le variabili vengono popolate correttamente ma non so come inserire gli apici all'interno della funzione affinché tali variabili vengano passate come stringhe.

    Ho provato così:


    codice HTML:
    document.getElementById('nome_stato'+ciudad).innerHTML="<a href='javascript: animacion1('"+ciudad+"','"+colore+"')' style='color: "+colore+"' >"+document.getElementById(ciudad).innerHTML+"</a>";
    Ma nemmeno funziona.

  3. #3
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,690
    Ciao, dal momento che si possono utilizzare 2 tipi di apici (singoli o doppi) per definire una stringa, ma hai 3 livelli di stringhe annidate, è logico che si va a creare qualche conflitto tra i vari apici. In questi casi è necessario eseguire un cosiddetto "escape", anteponendo in modo opportuno dei backslash agli apici per le stringhe di qualche livello interno.

    Ad esempio così:
    codice:
    ...innerHTML="<a href=\"javascript: animacion1('"+ciudad+"','"+colore+"')\" style='color: "+colore+"' >"+...
    o così:
    codice:
    ...innerHTML="<a href='javascript: animacion1(\""+ciudad+"\",\""+colore+"\")' style='color: "+colore+"' >"+...
    o in altri modi simili invertendo i singoli apici con i doppi apici.

    L'operazione di escape fa in modo di "bypassare" l'effetto che quel particolare carattere avrebbe per il contesto in cui questo è visto.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    794
    Perfetto,
    è quello che stavo cercando.
    So che si usano gli escape però non riuscivo a capire dove inserirli.
    Sei stato di grande aiuto, grazie mille funziona perfettamente.
    Un saluto.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.