2014-02-15 65 views
0

使用php創建考試。使用ajax保存點擊單選按鈕的值

我的問題是當頁面..我用ajax將其保存在數據庫中,每次的單選按鈕是點擊

<?php 
session_start(); 
include './connect.php'; 
?> 
<html> 
<head> 

</head> 
<body> 
<div id="online"></div> 
<?php 
$result = mysql_query("SELECT * FROM questions"); 
$count = mysql_num_rows($result); 
while($rows = mysql_fetch_array($result)) 
{ 
?> 
<script type="text/javascript" src="jquery.js"></script> 
<script> 
function saveans(){ 

var aa = $('input:radio[name=a1]:checked').val(); 
alert(aa); 
$.ajax({ 
     type: "POST", 
     url: "ans.php", 
     data: "stdID=1&q=2&ans="+aa, 
    }) 



} 

</script> 

<script language="javascript" type="text/javascript"> 
$(document).ready(function() { 

    $("#online").load("./tmr.php"); 
    var refreshId = setInterval(function() { 
    //alert("aa"); 
     $("#online").load('./tmr.php'); 
     $.ajax({ 
         type: "POST", 
         url: "./update.php", 
         data: "stdID=1" 
    }) 
    }, 1000); 
    $.ajaxSetup({ cache: false }); 
}); 

</script> 


<p><?php echo $rows["questions"]; ?></p> 
<input type="radio" id="a<?php echo $rows['questionNum']; ?>" name="a<?php echo $rows['questionNum']; ?>" value="A" onClick="saveans(this);"/>A. <?php echo $rows['choi1']; ?><br/> 
<input type="radio" id="a<?php echo $rows['questionNum']; ?>" name="a<?php echo $rows['questionNum']; ?>" value="B" onClick="saveans(this);"/>B. <?php echo $rows['choi2']; ?><br/> 
<input type="radio" id="a<?php echo $rows['questionNum']; ?>" name="a<?php echo $rows['questionNum']; ?>" value="C" onClick="saveans(this);"/>C. <?php echo $rows['choi3']; ?><br/> 
<input type="radio" id="a<?php echo $rows['questionNum']; ?>" name="a<?php echo $rows['questionNum']; ?>" value="D" onClick="saveans(this);"/>D. <?php echo $rows['choi4']; ?><br/> 
<?php 
} 
?> 
</body> 
</html> 

and the php code is 

<?php 
include './connect.php';$command = mysql_query("UPDATE ans_1 SET ans".$_POST['q']."='".$_POST['ans']."' WHERE std_id='".$_POST['stdID']."'") or die(mysql_error()); 
?> 

問題是我有什麼改變刷新單選按鈕dissappear的檢查數據:「stdID = 1 & q = 2 & ans =」+ aa ..我單選按鈕的名稱是a1,a2,a3用於多個單選按鈕..我想將它保存在我的數據庫中取決於名稱 是可能在ajax變量中插入數據庫值? 和STD值來自會話

回答

1

你定義功能:

function saveans(){ 
       ^---no arguments 

但在你的onclick左撇子調用它爲:

onClick="saveans(this);" 
       ^^^^---passing in "this" 

你想:

function saveans(obj) { 
    answer = obj.value; 
    ... do ajax ... 
} 

沒有必要通過ID(和一個硬編碼的ID)查找,因爲thisobj已經是您嘗試通過ID查找的完全相同的DOM元素了。

+0

theres沒有錯在我的代碼我只需要添加OBJ?那麼數據呢? – user3312318

+0

即時獲取不同的單選按鈕的值,但它仍然保存在只有1個字段我希望它保存在不同的領域取決於什麼是單選按鈕名稱例如單選按鈕名稱是A1它會自動存儲在我的領域在A1等等 – user3312318