Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    href con variabile al volo

    salve,
    ho bisogno di inserire nell'href un parametro da passare con il metodo get.
    Se imposto un valore fisso alla variabile nessun problema, funziona:
    codice:
    <script language="javascript" type="text/javascript">
    
     var clordine = 'si';
     
     }
    </script>
    </head>
    <body>
    <a href="test.php" onclick="location.href=this.href+'?key='+clordine;return false;">Link</a>
    mentre se modifico mettendo un radio butto per far cambiare il valore della variabile al volo non funziona più:
    codice:
    <script language="javascript" type="text/javascript">
    function inserisci() {
     var clordine = 'si';
     //alert(clordine);
     }
    function cancella() {
     var clordine = '0';
     //alert(clordine);
     }
    </script>
    </head>
    <body>
    <input type="radio" name="ordine" id="ordine" onClick="cancella()" ><label for="ordine">0</label>
    <input type="radio" name="ordine" id="ordine" onClick="inserisci()"><label for="ordine">Si</label>
    <a href="test.php" onclick="location.href=this.href+'?key='+clordine;return false;">Link</a>
    Cosa sbaglio??

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Devi dichiarare la variabile clordine fuori dalle funzioni


    var clordine = valore di default;


    function inserisci() {
    clordine = 'si'
    }
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Ciao,
    il problema è che la variabile viene definita all'interno delle funzioni, quindi è presente solo li.
    Devi quindi creare la variabile prima, in modo che possa essere vista in modo globale:

    codice:
            <script language="javascript" type="text/javascript">
                var clordine;
                function inserisci() {
                    clordine = 'si';
                    alert(clordine);
                }
                function cancella() {
                    clordine = '0';
                    alert(clordine);
                }
            </script>
        </head>
        <body>
            <input type="radio" name="ordine" onclick="cancella()" ><label for="ordine">0</label>
            <input type="radio" name="ordine" onclick="inserisci()"><label for="ordine">Si</label>
            <a href="test.php" onclick="location.href=this.href+'?key='+clordine;return false;">Link</a>
        </body>
    </html>
    Ti faccio anche notare che negli input hai onClick al posto di onclick e hai una duplicazione di id.

    Personalmente preferirei fare il set della variabile con una sola funzione:

    codice:
    <script language="javascript" type="text/javascript">
                var clordine;
                function clickCheck(myRadio)
                {
                    clordine = myRadio.value;
                }
            </script>
        </head>
        <body>
            <input type="radio" name="ordine" onclick="clickCheck(this);" value="0"><label for="ordine">0</label>
            <input type="radio" name="ordine" onclick="clickCheck(this);" value="si"><label for="ordine">Si</label>
            <a href="test.php" onclick="location.href=this.href+'?key='+clordine;return false;">Link</a>
    Una domanda, perchè non cambiare direttamente l'href del link al click sul radio?
    www.slickhtml.com
    A blog about HTML, CSS, Javascript, PHP and web related stuff.

  4. #4
    grazie ragazzi

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.