gpt4 book ai didi

php - 在特定字段中未输入 X 秒后发送表单

转载 作者:太空狗 更新时间:2023-10-29 15:38:35 26 4
gpt4 key购买 nike

我正在使用 Speech-to-Text 软件在一个字段中输入,因为没有屏幕或鼠标或键盘,我需要在该字段中没有输入(实际上是说话)3 秒后发送此表单,但是字段不应为空

我正在使用 PHP,但我想解决方案是 JavaScript 或 jQuery,我对这两者知之甚少,所以如果您能解释一下如何使用它,我将不胜感激。

最佳答案

从根本上说,您需要捕获按键事件并启动计时器。如果在按下另一个键之前计时器用完,请提交表单

Detecting key pressed with jQuery是这样完成的:

$('#ElementId').keypress(function() {
/* Your code */
});

您可以使用 setTimeout() 方法计时 3 秒 ( See here )

最后,使用 jQuery 的 submit() 如图所示 here提交表格

您可能还想 use focus()在页面加载后将焦点移至文本输入,以便 SR 在正确的位置“输入”,

此外,this article很好地介绍了 JS 中的计时事件,包括如何取消它们

简而言之,您想要这样的东西 ( tested ):

$(document).ready(function(){

var Timeout; //For reference to timeout
var DelayInMs=3000;
$("#SRInput").focus(); //Give focus to input on document ready

//When input is received, (re)set the timer
$("#SRInput").keypress(function() {
if(Timeout) {clearTimeout(Timeout);} //Clear existing timeout, if any
Timeout = setTimeout(function(){$("#SRForm").submit();}, DelayInMs);
});

});

<form id="SRForm" method = ... >
<input type="text" name="SRInput" id="SRInput"/>
</form>

(由于 closures,这些 Timeout/DelayInMs 变量仍在事件范围内)顺便说一句,这有一个额外的好处,即计时器在第一次按键后才会启动 - 因此您可以花多长时间开始说话)。

关于php - 在特定字段中未输入 X 秒后发送表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11639510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com