ich will eine votingfunktion ähnlich wie bei YouYube bauen (-> dat mit den sternchen)
Ich habe einmal nen etwas aufgeplusterten Quelltext. Da wird jedem bild nen onMouseOver / Out Befehl zugewiesen. darin enthalten sind neben den garfikänderungen ein Funktionsaufruf. dann ist da noch der onClick Befehl. Da steht u.a. das document.form.submit drin. soweit so gut. das funktioniert. nur die bewertungssternchen lassen sich nicht vordefinieren. also wenn das Voting bei 4 ist, dann lassen sich nicht automatisch 4 sterne anzeigen. Das geht nur, wenn man das ganze in ne funktion packt. dann allerdings geht das OnCLick element dabei hops. jedenfalls wird es nicht mehr interpretiert.
falls das jetzt alles zu umständlich war, der kann sich das bisher funktionierende script hier ansehen:
https://snoozer.de/scipts/voting_system/vote2.inc.php
Der nicht funktionierende Code sieht so aus:
Code: Alles auswählen
<script type="text/javascript">
function drawStar(n){
Status = new Array('poor', 'nothing special', 'worth watching', 'pretty cool', 'AWSOME!');
s = '<br>';
starid=1;
for (i = 0; i < Math.floor(n); i++){
s = s+'<img src="star_full.png" name="star_'+starid+'" alt="'+Status[starid-1]+'" onClick="voting.hiddenfeld.value = '+starid+'; document.voting.submit();" onMouseOver="document.getElementById(\'master\').innerHTML = \''+Status[starid-1]+'\'+drawStar('+starid+');" onMouseOut="document.getElementById(\'master\').innerHTML = \'rate this\'+drawStar(<?php echo $stars_beginning; ?>);" >';
starid= starid+1;
}
if((Math.round(n)-Math.floor(n))){
s = s+'<img src="star_half.png" name="star_'+starid+'" alt="'+Status[starid-1]+'" onClick="voting.hiddenfeld.value = '+starid+'; document.voting.submit();" onMouseOver="document.getElementById(\'master\').innerHTML = \''+Status[starid-1]+'\'+drawStar('+starid+');" onMouseOut="document.getElementById(\'master\').innerHTML = \'rate this\'+drawStar(<?php echo $stars_beginning; ?>);">';
starid=starid+1;
}
k = Math.round(n);//bei 3,5 => 4
for(i=5;k<i;i--){
s = s+'<img src="star_empty.png" name="star_'+starid+'" alt="'+Status[starid-1]+'" onClick="voting.hiddenfeld.value = '+starid+'; document.voting.submit();" onMouseOver="document.getElementById(\'master\').innerHTML = \''+Status[starid-1]+'\'+drawStar('+starid+');" onMouseOut="document.getElementById(\'master\').innerHTML = \'rate this\'+drawStar(<?php echo $stars_beginning; ?>);">';
starid= starid+1;
}
return s;
}
</script>
https://snoozer.de/scipts/voting_system/vote_frame.php
wenn da noch jemand durchblickt: hat jemand ne idee, warm dbei das OnClick nicht interpretiert wird? OnMouseOver/Out funktioniert einwandfrei....
thx in advance