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>

Rispondi quotando