2011-03-25 4 views
1

Je suis un débutant à mootools et le développement web aussi. J'ai lu ceci assez cool blog et je veux étendre le code pour se connecter à une base de données pour mettre à jour le classement avec un fichier php. mais malheureusement, mon code ne fonctionne pas signifie que la base de données ne se met pas à jour. Quelqu'un peut-il m'expliquer pourquoi? Merci beaucoup ...mootools problème bouton radio

Voici le code

star.html

<html> 

<script src="mootools-1.3.js"></script> 
<script src="lorenzos-MooStarRating-422072a/Source/moostarrating.js"></script> 
<script> 

    // Configure the image paths 
    var MooStarRatingImages = { 
     defaultImageFolder: 'lorenzos-MooStarRating-422072a/Graphics/', 
     defaultImageEmpty: 'star_empty.png', 
     defaultImageFull: 'star_full.png', 
     defaultImageHover: "star_boxed_hover.png" 
    }; 

    // Post iD 
    var postId = 10; 

    // When the DOM is ready.... 
    window.addEvent("domready",function() { 

     // Create our instance 
     // Advanced options 
     var advancedRating = new MooStarRating({ 
      form: 'ratingsForm', 
      radios: 'rating', 
      half: false, 
      //imageEmpty: 'star_boxed_empty.png', 
      //imageFull: 'star_boxed_full.png', 
      //imageHover: "star_boxed_hover.png", 
      width: 17, 
      tip: 'Rate <i>[VALUE]/7.0</i>', 
      tipTarget: $('htmlTip'), 
      tipTargetType: 'html', 
      click: function(value) { 
       // Send ajax request to server 
       new Request.send({ 
        url: "rateSave.php", 
        data: {'rating': value} 
       }); 
      } 
     }); 



    }); 

</script> 

<form name="ratingsForm"> 
<label>Select The Number of Stars</label> 
<input type="radio" name="rating" value="1.0" checked="checked"> 

<input type="radio" name="rating" value="2.0"> 

<input type="radio" name="rating" value="3.0"> 

<input type="radio" name="rating" value="4.0"> 

<input type="radio" name="rating" value="5.0"> 

<input type="radio" name="rating" value="6.0"> 

<input type="radio" name="rating" value="7.0"> 

<!--<input type="radio" name="rating" value="7.5"> 
<input type="radio" name="rating" value="8.0"> 
<input type="radio" name="rating" value="8.5"> 
<input type="radio" name="rating" value="9.0"> 
<input type="radio" name="rating" value="9.5"> 
<input type="radio" name="rating" value="10.0">--> 



<span id="htmlTip"></span> 
</form> 

</html> 

rateSave.php

<?php 

$con = mysql_connect("localhost","root",""); 
if (!$con){ 
    die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db("rating", $con); 

$starCount =$_POST['rating']; 

$result=mysql_query("INSERT INTO star VALUES('hotel','$starCount')"); 



mysql_close($con); 

?> 
+0

Vous mentionnez que la base de données ne se met pas à jour mais y a-t-il des messages d'erreur? – JackWilson

+0

non il n'y a aucun message d'erreur affichant ... Je ne peux pas comprendre pourquoi cela se produit :-( –

+1

Avez-vous vérifié les valeurs réellement soumises avec le POST contiennent les données que vous attendez? – ChrisR

Répondre

6

Salut Pavithra Gunasekara, l'erreur est « rien ', ici:

click: function(value) { 
// Send ajax request to server ... 
} 

au lieu de 'clic', le nom de la fonction CallBack est onClick-à-dire

onClick: function(value) { 
// Send ajax request to server ... 
} 

sur le 'clic', vous pouvez le faire de cette façon-à-dire

advancedRating.addEvent('click', function(){ new Request.send({/* ... */}) }); 

exemple travailler avec ' onClick 'au lieu du' clic 'dans la nouvelle définition d'instance: http://jsfiddle.net/steweb/LDw4y/

+0

Ce n'est pas correct, c'est 'click': https://github.com/lorenzos/MooStarRating/wiki/docs –

+1

Ce n'est pas correct mec :) ..if u voulez utiliser click dans la nouvelle définition d'instance, vous devez utiliser 'onClick' .. essayez-le;) Si vous voulez ajouter le clic une fois que vous avez l'instance, vous devez utiliser addEvent ('click', foo) – stecb

+0

Ensuite, expliquez pourquoi cela fonctionne, ce qui est exactement le même que ci-dessus, qui arrive aussi à plaisanter avec le documentation: http://davidwalsh.name/dw-content/mootools-star-rating.php –