在计时器倒计时到期时提交表格

时间:2012-12-28 17:42:25

标签: javascript ruby-on-rails ruby-on-rails-3 countdowntimer

我使用jQuery Countdown为我的页面计时器倒计时。这是我的代码:

<script type="text/javascript">

  function timeup() {
    $("examination_form").submit();
  }

  $(document).ready(function() {
    var duration = <%= @remaining_minutes %>
    $('#countDownTimer').countdown({until: '+' + duration  + 'm', 
                    format: 'MS', 
                    description: "Time Remaining",
                    onExpiry: timeup
                      });

  $("#countDownTimer").jScroll({top: 100});

  $("#examination_form").submit(function() {
    var errors = []
    $(".content_question").each(function() {
      var answerCont = $(this).next();
      var inputs = $(answerCont).find('input[type=radio], input[type=checkbox]');

      if(inputs.length > 0)
      {
        var groupChecked = false;

        $(inputs).each(function(){
          if($(this).is(':checked'))
          {
            groupChecked = true;
          }
        });

        if(!groupChecked)
        {
          errors.push($(this).text().trim());
        }
      }
    });

    if(errors.length > 0)
    {
      var errorMessage = "You missed " + errors.length + " questions: \n\n";

      for(var i=0; i<errors.length; i++)
      {
        errorMessage += errors[i] + "\n";
      }
      alert(errorMessage);
      return false;
    }
  });
});
</script>

$("#examination_form").submit(function() {到结尾的代码用于检查用户是否错过了某些问题的检查答案,他们会在按下提交时收到提醒。

我使用回调事件onExpiry在超时时提交表单,但它没有做任何事情。我认为它有问题,但我不知道在哪里。在我尝试之前:

onExpiry: function(){
  $("examination_form").trigger('click');
}

但它就像我按下按钮提交,而我希望表单被提交。我在this question中尝试了答案,但它也没有奏效。

任何人都可以提供帮助吗?

1 个答案:

答案 0 :(得分:0)

要跳过表单验证并强制提交unbind submit处理程序:

function timeup() {
    $("#examination_form").unbind().submit();
}