Ajax表单提交:无需重新加载

时间:2019-06-25 09:02:45

标签: javascript php ajax codeigniter

我需要提交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>
&nbsp;&nbsp;
<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>
&nbsp;&nbsp;
<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>

3 个答案:

答案 0 :(得分:0)

我刚刚从您的问题中复制了代码,它对我有用,没有任何干扰

答案 1 :(得分:0)

该代码在表单内吗? 好吧,如果是这样,那就是问题所在。因为该表单默认情况下具有提交功能。

答案 2 :(得分:-1)

抱歉,我误解了这个问题,您的代码似乎正常工作。