java - 使用ajax保存单击时单选按钮的值

标签 java php jquery mysql ajax

我正在使用 php 创建考试。

我的问题是,当页面刷新时,单选按钮中的选中项就会消失。每次单击单选按钮时,我都会使用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());
?>

问题是我要更改数据:“stdID=1&q=2&ans=”+aa..我的单选按钮的名称是 a1,a2,a3 对于多个单选按钮..我想将其保存在我的数据库取决于名称 是否可以将数据库值插入ajax变量中? std 值来自 session

最佳答案

您将函数定义为:

function saveans(){
                 ^---no arguments

但是在 onclick 处理程序中将其调用为:

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

你想要:

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

无需通过 ID(以及硬编码的 ID)查找,因为 thisobj 已经是与您完全相同的 DOM 元素无论如何,我正在尝试通过 ID 进行查找。

关于java - 使用ajax保存单击时单选按钮的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21792484/

相关文章:

java - 如何使用 HTTP 请求发送和接收 QUERY 参数

php - 根据不同的运输方式更改 Woocommerce 订单状态

javascript - SVG 图形不会出现在使用 javascript 和内部样式的第二个 float 相对 div 列中

java - 如何使用 "-Xlog:heap*=debug" "-Xlog:gc*=debug"从 GC 正确读取日志的某些部分

java - Spring MVC 和 java 8 的重定向问题

php - MySQL 按日期范围过滤查询

php - 如何为数组中的每个子项添加父项 ID? php

javascript - jQuery AJAX 不加载带有哈希值的 URL

javascript - 两个div切换,将多个javascript点击钩子(Hook)合并为一个

java - 如何在java中将进度条居中