一段时间后自动点击提交按钮
automatically hit submit button after a time period
我知道如何在一段时间后提交表格。但它似乎不适用于提交按钮。我有一个测验,它从数据库中提取问题并有一个提交按钮。我希望它在几个小时后点击提交按钮,然后转到另一个页面,告诉用户它已提交。
function changeSncro(){
sncro = 1;
return confirm('You are about to close this attempt. Once you close the attempt you will no longer be able to change your answers.')
}
window.onbeforeunload = function (evt) {
if(sncro !=1){
var message = 'If you leave prior to SUBMITTING your test, it WILL NOT be scored and you WILL NOT get another attempt';
if (typeof evt == 'undefined') {
evt = window.event;
}
if (evt ) {
evt.returnValue = message;
}
return message;
}
}
<script type="text/javascript">
setTimeout('document.test.submit()',5000);
</script>
<input name="test" value="Submit and finish" onclick="return changeSncro()">
此行有几个问题:
setTimeout('document.test.submit()',5000);
我将逐步完成一些步骤以使其更好。
setTimeout 通常应该使用函数而不是字符串作为第一个参数调用。将其作为字符串会导致浏览器在字符串上运行 eval,这可能非常糟糕。在这种情况下,这并不重要,但无论如何我都会更改它以使其成为"更好的代码"。改进版本:
setTimeout(function() {
document.test.submit();
}, 5000);
此外,您可能不应该使用document.test
。最佳做法是使用 document.querySelector
或 document.getElementById
如果您需要支持非常旧的浏览器。
如果它确实是您要单击的按钮(而不仅仅是提交表单),您可以使用
document.querySelector('[name="test"]').click();
为了使您点击的内容更加清晰。
更好的可能是提交表单而不是单击按钮(这可能是按钮的作用)。如果是这种情况,您可以为表单提供一个 id 或其他可选择的内容,并且:
document.querySelector('#myForm').submit();
正如评论中提到的,还有其他问题,但我认为这只是从将代码复制到问题中。
显示足够的信息,所以我将用有限的信息尽我所能回答。
您没有要提交
form
,因此我将假设submit
您想触发/触发 changeSncro() 函数,就像您现有的 onclick 事件一样。
setTimeout(changeSncro,5000);
--------------------演示--------------------
function changeSncro(){
alert("Function called!");
}
setTimeout(changeSncro,5000);
<p>Wait 5 seconds for function to call....</p>
<button onclick="changeSncro()">changeSncro</button>
我希望这有所帮助。祝您编码愉快!
@Ineentho 你真棒!我试图保持简单,因为我还有很多其他代码。但这就是我(基本上)正在尝试做的事情,它现在可以工作
<script>
setTimeout(function() {
document.querySelector('[name="test"]').click();
}, 5000);
</script>
<script>
function myFunction() {
document.getElementById("demo").innerHTML = "Hello World";
}
</script>
</head>
<body>
<p id="demo"></p>
<p>
<button name="test" id="submit" onclick="myFunction()">Click me</button>
</p>
- 带有验证和隐藏字段值的提交按钮
- 如何在 API 调用后和 if 语句中启用提交按钮
- 提交按钮,该按钮位于使用 Excel VBA 的 Javascript 中
- 如何使用提交按钮搜索表中的记录
- 在单击按钮前后禁用提交按钮
- 在表单完成并确认密码之前,请禁用提交按钮
- 如何使用Java脚本创建提交按钮's的拖放功能
- 如何在单击“提交”按钮时为“新建”窗口编写JavaScript,用“确定”和“取消”显示注册信息
- 提交按钮通过JQuery和JavaScript函数所做的更改不会持续
- 从输入时提交到jQuery,无需提交按钮,无需表单操作
- onclick提交按钮JSP
- 通过提交按钮传递值
- 如果ng单击附加到提交按钮,则表单未验证
- 如何在Razor MVC 5.2.3 Ajax中使用多个提交按钮
- 使用提交按钮隐藏未选中的单选按钮
- Ruby/JS如何在提交按钮后重新加载页面
- JavaScript表单提交没有't fire asp服务器端点击功能的提交按钮
- 使用javascript后,提交按钮不起作用
- 如何使用jQuery/Ajax响应特定的提交按钮
- 表单中的提交按钮在 PHP 打印中不起作用