Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

JavaScript und OnClick - irgendwie hakts

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
chrizz
PostRank 10
PostRank 10
Beiträge: 3044
Registriert: 05.07.2006, 10:37
Wohnort: Berlin

Beitrag von chrizz » 06.03.2007, 21:41

n'abend allesamt.

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&#40;n&#41;&#123;
  Status = new Array&#40;'poor', 'nothing special', 'worth watching', 'pretty cool', 'AWSOME!'&#41;;
  s = '<br>';
  starid=1;
  for &#40;i = 0; i < Math.floor&#40;n&#41;; i++&#41;&#123;
    s = s+'<img src="star_full.png" name="star_'+starid+'" alt="'+Status&#91;starid-1&#93;+'" onClick="voting.hiddenfeld.value = '+starid+'; document.voting.submit&#40;&#41;;" onMouseOver="document.getElementById&#40;\'master\'&#41;.innerHTML = \''+Status&#91;starid-1&#93;+'\'+drawStar&#40;'+starid+'&#41;;" onMouseOut="document.getElementById&#40;\'master\'&#41;.innerHTML = \'rate this\'+drawStar&#40;<?php echo $stars_beginning; ?>&#41;;" >';
        starid= starid+1;
  &#125;
  if&#40;&#40;Math.round&#40;n&#41;-Math.floor&#40;n&#41;&#41;&#41;&#123;
    s = s+'<img src="star_half.png" name="star_'+starid+'" alt="'+Status&#91;starid-1&#93;+'" onClick="voting.hiddenfeld.value = '+starid+'; document.voting.submit&#40;&#41;;" onMouseOver="document.getElementById&#40;\'master\'&#41;.innerHTML = \''+Status&#91;starid-1&#93;+'\'+drawStar&#40;'+starid+'&#41;;" onMouseOut="document.getElementById&#40;\'master\'&#41;.innerHTML = \'rate this\'+drawStar&#40;<?php echo $stars_beginning; ?>&#41;;">';
        starid=starid+1;
  &#125;
  k = Math.round&#40;n&#41;;//bei 3,5 => 4
  for&#40;i=5;k<i;i--&#41;&#123;
    s = s+'<img src="star_empty.png" name="star_'+starid+'" alt="'+Status&#91;starid-1&#93;+'" onClick="voting.hiddenfeld.value = '+starid+'; document.voting.submit&#40;&#41;;" onMouseOver="document.getElementById&#40;\'master\'&#41;.innerHTML = \''+Status&#91;starid-1&#93;+'\'+drawStar&#40;'+starid+'&#41;;" onMouseOut="document.getElementById&#40;\'master\'&#41;.innerHTML = \'rate this\'+drawStar&#40;<?php echo $stars_beginning; ?>&#41;;">';
        starid= starid+1;
  &#125;
  return s;
&#125;
</script>

zu testen hier:
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