简体   繁体   English

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

[英]Ajax Form Submission : no reload

I need to do an ajax form submission. 我需要提交一个ajax表单。 I have for options as answer to a question. 我有选择权来回答问题。 When an option is selected i need to submit the form without reloading the page. 选择一个选项后,我需要提交表单而不重新加载页面。 The following is my code . 以下是我的代码。 Can someone tell me a solution. 有人可以告诉我解决方案吗?

I have tried alert inside the ajax function (not working) and before ajax function (working). 我已经尝试过在ajax函数内部(不起作用)和ajax函数之前的alert(起作用)。

My code: 我的代码:

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>

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

Is that code inside a form?. 该代码是否在表单内? Well, if that's the case, there's the problem. 好吧,如果是这样,那就是问题所在。 Because the form has submition by default. 因为默认情况下表单具有提交。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM