我正在尝试构建一个测验环境。用户选择答案,然后单击“提交”。提交后,将调用以下jquery:
$(document).ready(function() {
$('.btn-large').click(function() {
$.post("correct_quiz.php",
{
choices : $('input[name=choice][type=radio]:checked').serialize()
},
function(data) {
var temp = '#correct' + data;
var temp2 = '#correct3';
$(temp).show(); // Make the wrong/right icons visible
});
});
});
根据答案是否正确,此jquery会显示绿色或红色图标。 correct_quiz.php脚本包含:
<?php
$root = "/users/stadius/maapc/public_html/";
include($root . "connect_to_database.php");
$choices = $_POST['choices']; // This will for example output "choice=3"
echo substr($choices,7,7); // This will then output "3"
?>
我遇到了一个问题,当我尝试上面带有变量temp2的jquery代码时,脚本就像我想要的那样工作。但是当我用变量temp尝试它时它不会。当我调试时,我看到它们包含完全相同的字符串:两者都是'#correct3'(当我选择第3个答案时)。
那么为什么当我使用变量temp时这不起作用,并且在使用temp2时工作?
答案 0 :(得分:0)
我认为你的问题就在这一行:
echo substr($choices,7,7);
尝试使用:
$list = explode('=', $choices);
echo $list[1];
而不是substr