2015-09-04 66 views
1

我有一些困難,從jQuery傳入值到PHP。 我正在使用jquery的插件rateit來創建星級評分系統。 我設法將評級與我的數據庫連接以檢索數據並顯示平均評分等。 目前我正在努力解決如何讓用戶將他們選擇的日期(星號)插入到數據庫中的問題。這是我的代碼看起來像:使用ajax獲取jQuery值到php

<div id="itemreview"> 
    <form action="" name="review" id="review" method ="post"> 
      Rating: <input type="range" value="0" step="0.5" id="rating"> 
      <div id="stars" class="rateit" onclick="" data-rateit-backingfld="#rating" data-rateit-resetable="false" data-rateit-ispreset="true" 
      data-rateit-min="0" data-rateit-max="10"> 
     </div> 
     <input type="submit" name="submitcomment" id="submit" value="Comment!"> 
     </form></div> 

這是我的Jquery/AJAX:

<script> 
     $(document).ready(function() { 
      $('#submit').click(function() { 

       var value = $('#stars').rateit('value'); 

       $.ajax({ 
       url: 'itemreview.php', 
       type: "POST", 
       data: {value:"value"}, 
       success : function(data) { 
       } 
       }); 
      }); 
     }); 

    </script>  

而且我的PHP:

 if(isset($_POST['submitcomment'])) { 
     $userrating = $_POST['value']; 


     echo "Posted!"; 
     echo $_POST['value']; 
     } 

提交我不能回聲$表格後用戶評分。但是如果我提醒我得到的顯示值:

var value = alert($('#stars').rateit('value')); 

正如當我點擊提交按鈕我得到的警報,值,之後的不久發表!代碼出現。 有人可能知道這段代碼中可能有什麼錯誤嗎?我錯過了什麼嗎? 如何將var value = $('#stars').rateit('value') 的值分配到我的$userrating

+0

無論如何,這個問題與MySQL有關嗎? – Rahul

+0

它應該是 // echo「張貼!」;不需要 返回$ _POST ['value']; –

回答

2

data: {"value":value}, 
+0

@davidb選擇它作爲你的答案 –

+0

它是否正確回答問題? – Jai

+0

@Jai爲什麼不行,這是正確的,因爲用戶的問題已經解決了 –

0

更換

data: {value:"value"}, 

實際上你需要設置變量在你的代碼。你現在在那裏的方式,你正在設置的價值:「價值」。將其更改爲(不含引號):

var value = $('#stars').rateit('value'); 
$.ajax({ 
    url: 'itemreview.php', 
    type: "POST", 
    data: {value: value}, 
    success : function(data) { 
    } 
+0

對不起,隊友,不工作。感謝您的幫助。 – davidb