2012-08-23 54 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 


});