这个jQuery不起作用。当我点击投票没有任何反应。当我检查时,div ratecontainer应该消失并且没有任何内容插入到MySQL中。在Firebug中我没有错误。我做错了什么?
echo "<div class='ratecontainer'>
<form id='rateform' action=''>
<input type='hidden' id='rateid' value='$stackid' />
<input type='hidden' id='type' value='1' />
<a class='vote'>Vote</a>
</form>
</div>";
$(function() {
$('.vote').click(function() {
var rate= $("#rateid").val();
var type= $("#type").val();
var vote = "0";
var dataString = 'id=' + rate + '&type=' + type + '&v=' + vote;
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "/rate.php",
data: dataString,
success: function() {
$('.ratecontainer').hide();
}
});
return false;
});
});
答案 0 :(得分:0)
我假设你的jquery代码在
里面 <script type="text/javascript">
</script>
答案 1 :(得分:0)
我没有立刻看到它。但我知道有一个非常好的jQuery插件可以让你更轻松:http://jquery.malsup.com/form/
你应该让rate.php做一些调试......例如print_r($_POST);
答案 2 :(得分:0)
你的代码应该是这样的:
<div class='ratecontainer'>
<form id='rateform' action=''>
<input type='hidden' id='rateid' value='<?php echo $stackid ?>' />
<input type='hidden' id='type' value='1' />
<a class='vote'>Vote</a>
</form>
</div>
<script>
$(function() {
$('.vote').click(function() {
var rate= $("#rateid").val();
var type= $("#type").val();
var vote = "0";
var dataString = 'id=' + rate + '&type=' + type + '&v=' + vote;
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "/rate.php",
data: dataString,
success: function() {
$('.ratecontainer').hide();
}
});
return false;
});
});
</script>
并且不将其包含在大<?php ?>
标记中。假设你的rate.php
写得正确(这是一个延伸),这应该有效。 (jsFiddle)