jquery - 如何使用 jQuery 设置计时器来发送 HTML 表单的 HTTP post 数据

标签 jquery timer http-post form-submit

我有一个 HTML 表单,需要使用 HTTP POST 和输入数据将其发布到服务器。

具体来说,我只需要发送表单中选中的所有复选框的参数值。

如果用户在 10 分钟内没有自己做,我需要做。

我不确定实现这一目标的最佳方法,但现在我正在尝试使用 jQuery 来做到这一点,但遗憾的是我对 JavaScipt 或 jQuery 一无所知,所以我正在尝试学习它,但未能实现如此简单的东西就这样。

我需要在加载表单的页面 10 分钟后运行以下命令。

    $("document").ready(function() {            
        var checkedInputElements = $(":input[value=true]");
        var paramNames = [];
        jQuery.each(checkedInputElements, function() {
            var paramName = $(this).attr("name");
            paramNames.push(paramName);
        });
        $("form").submit(function() {
            jQuery.post({
              type: 'POST',
              url: "http://localhost:8080/wickedlynotsmart/auto-submit-form",
              data: paramNames
          });
          return true;
        });
    });  

我不确定上面的代码是否正确。我仍在努力。 有人可以建议我一个指南,我可以用它来编写一个计时器,以便该代码在页面加载 10 分钟后运行吗?

谢谢。

编辑:

<%@ include file="/WEB-INF/views/include.jspf" %>

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>wikedlynotsmart.com</title>
    <link rel="stylesheet" type="text/css" href="<c:url value="/resources/syntaxhighlighter/styles/shCore.css" />" />
    <link rel="stylesheet" type="text/css" href="<c:url value="/resources/syntaxhighlighter/styles/shThemeDefault.css" />" />

    <script type="text/javascript" src="<c:url value="/resources/syntaxhighlighter/scripts/shCore.js" />"></script>
    <script type="text/javascript" src="<c:url value="/resources/syntaxhighlighter/scripts/shBrushJava.js" />"></script>
    <script type="text/javascript">
         SyntaxHighlighter.all()
    </script>
    <script type="text/javascript" >
        //auto-submit-form javascipt code
    </script>   
</head>
<body>
    <jsp:include page="/WEB-INF/views/header.jsp" />
    <div id="thing">
        <form id="form" action="<c:url value="/wikedlynotsmart/auto-submit-form" />" method="post">             
            <ol>
                <c:forEach items="${things}" var="thing">
                    <li>${thing.something}</li>
                    <c:forEach items="${matters}" var="matter">
                        <table>         
                            <tr>
                                <td><input type="checkbox" name="tid${thing.id}-mid${matter.id}" value="true"/></td>
                                <td>${matter.somematter}</td>
                            </tr>       
                        </table>                    
                    </c:forEach><br></br>
                </c:forEach>        
            </ol>   
            <input type="submit" value="submit the thing" class="button"/>
        </form>
    </div>
    <jsp:include page="/WEB-INF/views/footer.jsp" />    
</body>
</html>

这是我正在处理的页面,并试图让事情为我工作。

最佳答案

这样就可以了:

setInterval(submit_me, 600000); // (1000 * 60 * 10 = 600000)

function submit_me() {

    $('#form').submit();

}

较短的版本:

setTimeout(function() { $('#form').submit(); }, 5000);

关于jquery - 如何使用 jQuery 设置计时器来发送 HTML 表单的 HTTP post 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8891735/

相关文章:

asp.net - JQuery Live() 不工作

java - HttpClient只会执行一次Android

jquery - Rails 4 应用程序中的动态可折叠列表

javascript - d3 js 分层边缘捆绑数据格式

javascript - 使用 HTML DOM 查找文档中的元素

c++ - sockets和timer如何互不阻塞地使用?

javascript - 连续调用 XMLHttpRequest

c++ - 需要在c++中以周期性时间间隔调用函数

javascript - Angular JS 方法 - 一个依赖于另一个的结果

jquery - 如何在手动表单提交中添加post参数?