05. oktober 2004 - 03:14Der er
9 kommentarer og 1 løsning
Stjerner til anmeldelse
Hejsa!
Jeg sidder med et anmeldelses system i PHP, hvor brugere kan anmelde film i 4 forskellige kategorier med værdien 1-5. Indtil videre har jeg brugt input felter til angivelse af stjerner. Ser således ud for hver kategori: 1 <input value="1" name="karakter_skue" type="radio" /> 2 <input value="2" name="karakter_skue" type="radio" /> 3 <input value="3" name="karakter_skue" type="radio" /> 4 <input value="4" name="karakter_skue" type="radio" /> 5 <input value="5" name="karakter_skue" type="radio" />
Nu har jeg fået min designer til at lave 2 filer til mig. En med en fuld stjerne og en svag stjerne. Nu kunne jeg godt tænke mig, at i stedet for at bruge input felter som her, at bruge mine stjerne, så man kan trykke på fx 3. stjerne og så vil de 3 første være den fulde stjerne og de to sidste være svage stjerner. (og smide en værdi mellem 1 og 5 til et hidden input felt eller lign. således jeg i alt fald kan få det sendt med i formen!
Mit problem er at mine kundskabe i javascript er _meget_ små... Nogle der kan hjælpe mig??? :)
-- her har jeg så også brugt opacity til at gøre det, men det kan selvfølgelig fjernes, når du nu har de rigtige stjerner (det er lavet, så du kan overbevise dig om, at det virker uden at indsætte de rigtige billed-navne -- eller lave det med kun een stjerne !-)
-- med de tre opacity-properties vil det virke i langt de fleste nutidige browsere, filter er IE-only-propertyen, -moz-opacity er til Gecko-browserne og opacity er CSS3-propertyen, som i hvert fald understøttes af bl.a. Safari !o]
En lille hurtig: kan jeg ikke tilføje en variabel, således at jeg kan bruge samme script til alle de 4 karaktere jeg skal bruge? Havde prøvet således: <img src="/imgs/stjerne_ubrugt.jpg" onclick="stjerne(this,'skue');" name="stjerne_skue5" /> // for alle stjernerne <input type="hidden" name="karakter_skue"> //i dette tilfælde kalder vi karakter typen for skue </form>
<script type="text/javascript"> function stjerne(elm,named){ //jeg har så lavet endnu en variabel kaldet named, men hvordan kalder jeg den korrekt? var num = +elm.name.match(/\d$/)[0],bil; document.anmeld.karakter_named.value = num; // dette virker i alt fald ikke... for(i=1;6>i;i++){ bil = document.images['stjerne_'.named+i]; //det gør dette heller ikke :( if(num>=i){ bil.src = '/imgs/stjerne_fuld.jpg'; }else{ bil.src = '/imgs/stjerne_ubrugt.jpg'; } } } </script>
<script type="text/javascript"> function stjerne(elm,f){ var num = +elm.name.match(/\d$/)[0],bil; document.anmeld.elements['karakter_'+f].value = num; for(i=1;6>i;i++){ bil = document.images['stjerne_'+f+"_"+i]; if(num>=i){ bil.src = 'stjerne_stark.gif'; }else{ bil.src = 'stjerne_svag.gif'; } } } </script>
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.