Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387

    Come passare valori ad una funzione?

    Scusate per i miei soliti titoli poco chiari...
    Ho implementato via javascript un sistema di voto a 5 stelle, dove il click del mouse produce un value all'interno di un campo hidden.

    Ho "elevato" lo script a funzione, in questa maniera:

    codice:
    function votaCibo (voto) {
    
    	var campo = document.getElementById("cibo");
    	campo.value = voto;
    	document.getElementsByClassName("current-rating")[0].style.width = (voto*20)+"%"; // questo script serve a me per stilizzare via CSS il riempimento delle 5 stelle... votando 2 si riempie al (2*20 = 40%) quindi 2 stelle su 5
    }
    E questo è il semplice codice XHTML
    codice:
    <input type="hidden" name="cibo" id="cibo" />
    <ul class="star-rating">
                <li class="current-rating" style="width:0%;">[*]1[*]2[*]3[*]4[*]5[/list]
    Ora pero', dato che di paramentri da votare ne ho diversi (cibo, musica, cultura, spettacoli etc etc etc) al momento ho risolto creando una funzione per ogni parametro (votaCibo, votaCultura, votaSkill) etc etc.

    Volevo invece, anche per mia cultura personale, creare una funzione unica, passando come parametri sia il campo di voto che il voto stesso, e ho, ingenuamente, fatto cosi:

    codice:
    function votazione (voto, parametro) {
    
    	var campo = document.getElementById(parametro);
    	campo.value = voto;
    	document.getElementsByClassName("current-rating")[0].style.width = (voto*20)+"%"; // questo script serve a me per stilizzare via CSS il riempimento delle 5 stelle... votando 2 si riempie al (2*20 = 40%) quindi 2 stelle su 5
    }
    e tentato di passare cosi i valori
    codice:
    <input type="hidden" name="cibo" id="cibo" />
    [...][*]1
    [...][/list]
    Ma Firebug mi restituisce "parametro is not defined"...

    Potete aiutarmi?

    Grazie mille e buona serata!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    cibo dev'essere una stringa, va tra apici

    getElementsByClassName non e' supportato ovunque,
    cerca con google una versione crossbrowser

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    Grazie mille,
    non avevo pensato agli apici

    Sono riuscito correttamente a fare tutto ora con una semplice funzione di 3 righe invece che con 4 funzioni

    Per il "classname" ti ringrazio, i.e. avevo trovato uno script che la fa diventare una vera e propria funzione, dato che internet explorer ad esempio non la riconosce...

    grazie ancora!

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.