2011-09-26 38 views
-1

這個jQuery沒有工作。當我點擊投票時沒有任何反應。當我檢查時,div ratecontainer應該消失並且沒有任何內容被插入到MySQL中。在Firebug中,我沒有得到任何錯誤。我做錯了什麼?未提交jQuery表單。 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

爲什麼你會迴應整個標記?你的rate.php代碼在哪裏?您是否在腳本執行過程中嘗試過提醒或記錄變量? – markus

+0

檢查dataString中有什麼... – JNDPNT

+0

如何在jQuery中提醒?它警覺(「測試」); – user892134

回答

0

我假設你的jQuery代碼裏面

<script type="text/javascript"> 
</script> 

0

我沒有馬上看到它。但我知道有一個非常好的jQuery插件,使這個您更容易:http://jquery.malsup.com/form/

你應該有rate.php做一些調試...例如print_r($_POST);

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