我有一个 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/