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条)

报告相同问题?

悬赏问题

  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集