2012-08-23 204 views
0

我有一個AJAX功能如下。代碼有一些我不知道如何解決的錯誤。我想要做的是,每次我點擊一個按鈕(只有一次),它會立即將該按鈕的值保存到數據庫中,但發生了什麼事情,它需要用戶點擊兩次以保存那個按鈕。有沒有人可以幫助我,因爲我是AJAX和jQuery的新手?謝謝!!!AJAX按鈕(只需點擊一次)

HTML

<fieldset> 
<input type="radio" id="start2'+i+'" name="oris'+i+'" value="2" onClick="get(id,2);"> 
<input type="radio" id="start1'+i+'" name="oris'+i+'" value="1" onClick="get(id,1);"> 
</fieldset> 

AJAX

function get(startId){ 
var objectA = parseInt(startId.substr(4,1)); 
var id = parseInt(startId.substr(5,1)); 
var idNumber = "<?php echo $_GET['idNumber']; ?>"; 

$('#start'+objectA+id).click(function(){ 

jQuery.ajax({ 

url: 'followingPage.php', 
type: 'post', 
data: {" field1value": + objectA, "idNumber": + idNumber, "id": +id }, 
success: function(results){ 
top.location="submission.php?idNumber=<?=$_GET['idNumber'];?>"; 
} 
}); 
}); 
} 
+0

對不起你要生成的單選按鈕withjs 同樣不使用的onClick使用jQuery有線了您的活動。 –

回答

0
$(function(){ 
    $("input[type='radio']").click(function() { 
    var idNumber = "<?php echo $_GET['idNumber']; ?>"; 
    jQuery.ajax({ 
     url: 'followingPage.php', 
     type: 'post', 
     data: {" field1value": + $(this).val(), "idNumber": + idNumber, "id": + $(this).attr("id") }, 
     success: function(results){ 
     top.location="submission.php?idNumber=<?=$_GET['idNumber'];?>"; 
     } 
    }); 
    }); 
} 

像這樣的事情?

+0

其實我只希望它被點擊一次,然後這個值會被保存到數據庫中。謝謝 – nazmanjunior

+0

對不起,我誤解了我以爲你想讓用戶點擊兩次我已經更新了答案,所以你只需點擊一次。 –

0

HTML部分添加

<form onSubmit="return false;" > 
    </form> 
+0

謝謝bowbou,我試過這個,但這些按鈕不能這樣工作。我使用fieldset的原因是因爲它有一些效果,每當用戶將光標放在按鈕上時,它會相應地突出顯示,如1至5星。按鈕的示例如本頁所示http://lea.verou.me/2011/08/accessible-star-rating-widget-with-pure-css/...謝謝 – nazmanjunior

0
var flag = false; 

$('#start'+objectA+id).click(function(){ 
if(flag){ return false; } //prevent multiple click 
    flag = true; 
    //do your stuff here 


});