Vielleicht hilft Dir das hier ja schon mal weiter... ich weiss nicht ob Du noch mehr brauchst als das nackte Formular mit dem Header was das ganze dann an comment.php sendet.
Star Rating
Das jQuery Star Rating Plugin v3.00 sollte aus Radioboxen Sterne machen können.
Du hast ein Formular mit mehreren nebeneinanderstehenden Radioboxen für das Rating. Wenn nun das Plugin geladen wird (das passiert ja nur wenn JS aktiviert ist) und den Radioboxen die Klasse star gegeben wird, werden die Radioboxen durch Sterne ersetzt. Wenn JS deaktiviert ist wird das Formular ganz normal angezeigt.
Demos sind auf der verlinkten Webseite.
Unter die Radioboxen ein Textarea für den Kommentar setzen.
Hört sich ja einfach an, hab ich aber noch nicht ausprobiert.
AJAX Submit
Jetzt fehlt aber noch der Mechanismus für das Absenden des Formulars mit jQuery. Das könnte das jQuery Form Plugin erledigen...
Beispiel
Ich hab mal kurz das Beispiel des jQuery Form Plugins um die Radioboxen für das Rating erweitert, habe ich aber nicht getestet:
HTML-Code:
<html>
<head>
<script type="text/javascript" src="path/to/jquery.js"></script>
<script type="text/javascript" src="path/to/jquery.form.js"></script>
<script type="text/javascript" src="path/to/jquery.rating.js"></script>
<script type="text/javascript">
// wait for the DOM to be loaded
$(document).ready(function() {
// bind 'myForm' and provide a simple callback function
$('#myForm').ajaxForm(function() {
alert("Thank you for your comment!");
});
});
</script>
</head>
<body>
<form id="myForm" action="comment.php" method="post">
<input name="star1" type="radio" class="star"/>
<input name="star1" type="radio" class="star"/>
<input name="star1" type="radio" class="star"/>
<input name="star1" type="radio" class="star"/>
<input name="star1" type="radio" class="star"/>
Kommentar: <textarea name="comment"></textarea>
<input type="submit" value="Submit Comment" />
</form>
</body>
</html>
wenn 1. Radiobox "checked" => ein Stern
wenn 2. Radiobox "checked" => zwei Sterne
usw. dann müsste das Formular halt von einer PHP-Datei generiert werden, die das gemachte Rating aus der DB abruft und bei der entsprechenden Radiobox das checked ausgibt.
PHP-Code:
<? /* $rating = ... hier PHP-Code fürs Abrufen des gemachten Ratings einfügen */ ?>
<input name="star1" type="radio" class="star"/>
<input name="star1" type="radio" class="star"<?=($rating==1?' checked':'')?>/>
<input name="star1" type="radio" class="star"<?=($rating==2?' checked':'')?>/>
<input name="star1" type="radio" class="star"<?=($rating==3?' checked':'')?>/>
<input name="star1" type="radio" class="star"<?=($rating==4?' checked':'')?>/>
Gruß, h-m