drodsh7940 2018-03-19 06:00
浏览 54
已采纳

表格提交延迟

i am trying to submit form after 10 seconds with form value. I am not able to include setTimeout with submit function.

setTimeout(function() {
  $('#FrmID').submit();
}, 10000);
$(document).ready(function() {
  $("#submit").click(function() {
    var grp_id = $("#grp_id").val();
    var datastr = 'grp_id=' + grp_id;

    $.ajax({
      type: 'POST',
      url: 'start_calculate.php',
      data: datastr,
      success: function() {
        //$("#msg").html("Student Successfully Added");
        //$("#msg").html("response");
      }

    });


  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="FrmID" id="FrmID">
  <input type="hidden" value="<?php echo $grp_id; ?>" name="grp_id" />
  <button type="submit" name="done" class="btn btn-sm btn-success" id="submit">Done !</button>
</form>

</div>
  • 写回答

3条回答 默认 最新

  • dongxi7704 2018-03-19 06:11
    关注

    You can create a function for submit, then call it after click on success:

    $(document).ready(function() {
    
      function submitForm() {
        setTimeout(function() {
          $('#FrmID').submit();
        }, 10000);
      }
    
      $("#submit").click(function() {
        var grp_id = $("#grp_id").val();
        var datastr = 'grp_id=' + grp_id;
    
        $.ajax({
          type: 'POST',
          url: 'start_calculate.php',
          data: datastr,
          success: function() {
            //$("#msg").html("Student Successfully Added");
            //$("#msg").html("response");
            submitForm();
          }
    
        });
    
    
      });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <form name="FrmID" id="FrmID">
      <input type="hidden" value="<?php echo $grp_id; ?>" name="grp_id" />
      <button type="submit" name="done" class="btn btn-sm btn-success" id="submit">Done !</button>
    </form>

    In Action:

    $(document).ready(function() {
    
      function submitForm() {
        i = 1;
        setInterval(function() {
          console.log(i++);
        }, 1000);
    
        setTimeout(function() {
          $('#FrmID').submit();
          alert("Student Successfully Added");
        }, 10000);
      }
    
      $("#submit").click(function(e) {
        e.preventDefault();
        submitForm();
    
      });
    
    
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <form name="FrmID" id="FrmID">
      <input type="hidden" value="<?php echo $grp_id; ?>" name="grp_id" />
      <button type="submit" name="done" class="btn btn-sm btn-success" id="submit">Done !</button>
    </form>

    And if you want to submit form automatically without press any key to submit you can try this. You should move your code inside the setTimeout function:

    $(document).ready(function() {
    
      setTimeout(function() {
    
        $('#FrmID').submit(function() {
          var grp_id = $("#grp_id").val();
          var datastr = 'grp_id=' + grp_id;
    
          $.ajax({
            type: 'POST',
            url: 'start_calculate.php',
            data: datastr,
            success: function() {
              //$("#msg").html("Student Successfully Added");
              //$("#msg").html("response");
            }
    
          });
        });
    
      }, 10000);
    
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <form name="FrmID" id="FrmID">
      <input type="hidden" value="<?php echo $grp_id; ?>" name="grp_id" />
      <button type="submit" name="done" class="btn btn-sm btn-success" id="submit">Done !</button>
    </form>

    Or you can try delay()

    $(document).ready(function() {
    
        $('#FrmID').delay(10000).submit(function() {
          var grp_id = $("#grp_id").val();
          var datastr = 'grp_id=' + grp_id;
    
          $.ajax({
            type: 'POST',
            url: 'start_calculate.php',
            data: datastr,
            success: function() {
              //$("#msg").html("Student Successfully Added");
              //$("#msg").html("response");
            }
    
          });
        });
    
    });
    
    </div>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝