我需要提交ajax表单。我有选择权来回答问题。选择一个选项后,我需要提交表单而不重新加载页面。以下是我的代码。有人可以告诉我解决方案。
我曾尝试在ajax函数内部(不起作用)和ajax函数之前的警报(起作用)。
我的代码:
function submit_answer(n) {
var mark;
var quiz_id = $('#quiz_id').val();
var option = $('#radio' + n).val();
var answer = $('#answer').val();
var StateId = 0;
$.ajax({
type: 'POST',
url: 'submit_test',
data: {
quiz_id: quiz_id,
option: option,
StateId: StateId,
mark: mark
},
success: function(html) {
alert(html);
}
});
}
<div class="btn btn-info" id="rad5" align="left" onclick="submit_answer(5);" style="width:auto;">
<input type="radio" name="option" style="display:none; visibility:hidden; opacity:0;" id="radio5" value="<?php echo $quiz['quiz_opt1'];?>" />
<label for="radio5">
<h3><?php echo $quiz['quiz_opt1'];?></h3>
</label>
</div>
<div class="btn btn-info" id="rad6" align="left" onclick="submit_answer(6);" style="width:auto;">
<input type="radio" name="option" style="display:none; visibility:hidden; opacity:0;" id="radio6" value="<?php echo $quiz['quiz_opt2'];?>" />
<label for="radio6">
<h3><?php echo $quiz['quiz_opt2'];?></h3>
</label>
</div>
<br /><br /><br />
<div class="btn btn-info" id="rad7" align="left" onclick="submit_answer(7);" style="width:auto;">
<input type="radio" name="option" style="display:none; visibility:hidden; opacity:0;" id="radio7" value="<?php echo $quiz['quiz_opt3'];?>" />
<label for="radio7">
<h3><?php echo $quiz['quiz_opt3'];?></h3>
</label>
</div>
<div class="btn btn-info" id="rad8" align="left" onclick="submit_answer(8);" style="width:auto;">
<input type="radio" name="option" style="display:none; visibility:hidden; opacity:0;" id="radio8" value="<?php echo $quiz['quiz_opt4'];?>" />
<label for="radio8">
<h3><?php echo $quiz['quiz_opt4'];?></h3>
</label>
</div>
答案 0 :(得分:0)
我刚刚从您的问题中复制了代码,它对我有用,没有任何干扰
答案 1 :(得分:0)
该代码在表单内吗? 好吧,如果是这样,那就是问题所在。因为该表单默认情况下具有提交功能。
答案 2 :(得分:-1)
抱歉,我误解了这个问题,您的代码似乎正常工作。