Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649

    funzione di votazione a stelle

    ciao a tutti,ho un problema con questa funzione che permette una votazione a stelle.
    non so come prendere il valore delle stelle in una variabile php per poi inserirla in un db. non conosco js quindi chiedo gentilmente un aiuto.
    questo è il codice della funzione:
    codice:
    <html>
        <head>
            <title>calcola il tuo compenso</title>
    <style type="text/css">
    #STAR_RATING ul
    {
      margin: 0px;
      padding: 0px;
      height: 16px;
      list-style: none;
    }
    #STAR_RATING li
    {
      width: 19px;
      height: 16px;
      display: block;
      float: left;
      background-image: url('vota.gif');
      background-repeat: no-repeat;
      cursor: pointer;
    }
    #STAR_RATING li.on
    {
      background-image: url('votahover.gif');
    }
    #STAR_RATING span.output
    {
      padding: 3px;
      color: #339900;
      font-weight: bold;
    }
    </style>
    <script type="text/javascript">
    // faccio il preload dell'immagine utilizzata per l'effetto rollover
    var staron = new Image(); staron.src = "star-on.gif";
    
    // Definisco la funzione per la votazione che verrà lanciata
    // all'evento onclick su una delle 5 stelle
    function star_vota(QT)
    {
      // Creo una variabile con l'output da restituire al momento del voto
      var star_output = '<span class="output">Hai votato ' + QT + ' stelle!</span>';
      // Cambio dinamicamente il contenuto del DIV contenitore con il messaggio di
      // conferma di votazione avvenuta
      document.getElementById('STAR_RATING').innerHTML = star_output;
    }
    
    // Definisco la funzione per "accendere" dinamicamente le stelle
    // unico argomento è il numero di stelle da accendere
    function star_accendi(QT)
    {
      // verifico che esistano i DIV delle stelle
      // se il DIV non esiste significa che si è già votato
      if (document.getElementById('star_1'))
      {
        // Ciclo tutte e 5 i DIV contenenti le stelle
        for (i=1; i<=5; i++)
        {
          // se il div è minore o uguale del numero di stelle da accendere
          // imposto dinamicamente la classe su "on"
          if (i<=QT) document.getElementById('star_' + i).className = 'on';
          // in caso contrario spengo la stella...
          else document.getElementById('star_' + i).className = '';
        }
      }
    }
    
    // Questa è la funzione che produce l'output.
    // richiede come unico argomento il numero di stelle che si vuole accendere
    // di default (possiamo in questo, ad esempio, modo mostrare il voto ottenuto
    // nelle precedenti votazioni)
    function star(QT)
    {
      // stampo il codice HTML che produce le stelle
      document.write('<div id="STAR_RATING" onmouseout="star_accendi(' + QT + ')""><ul>');
      document.write('<li id="star_1" onclick="star_vota(1)" onmouseover="star_accendi(0); star_accendi(1)">');
      document.write('<li id="star_2" onclick="star_vota(2)" onmouseover="star_accendi(0); star_accendi(2)">');
      document.write('<li id="star_3" onclick="star_vota(3)" onmouseover="star_accendi(0); star_accendi(3)">');
      document.write('<li id="star_4" onclick="star_vota(4)" onmouseover="star_accendi(0); star_accendi(4)">');
      document.write('<li id="star_5" onclick="star_vota(5)" onmouseover="star_accendi(0); star_accendi(5)">');
      document.write('[/list]</div>');
      // accendo le stelle definite in argomento
      star_accendi(QT);
    }
    
    </script>
    </head>
        <body>
    
    <script>
    star(4);
    
    </script>
    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649
    toc toc

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.