2015-09-04 62 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