Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript/jquery在30分钟内未使用表单字段时显示警报消息?_Javascript_Jquery_Popup - Fatal编程技术网

如何使用javascript/jquery在30分钟内未使用表单字段时显示警报消息?

如何使用javascript/jquery在30分钟内未使用表单字段时显示警报消息?,javascript,jquery,popup,Javascript,Jquery,Popup,我有一个带有两个输入字段的表单,我想要一个脚本,如果在某个时间段后没有使用字段,它会显示一条弹出消息,询问“你还在吗?”或类似的问题 可能吗?请大家多多指教,谢谢 您需要启动一个30分钟的计时器,并在所有字段中附加一个change事件。更改时,您希望删除当前计时器,然后再创建一个新计时器30分钟 例如,它可能是这样的: $('input[type=text]').bind('change', function (e) { // .. Triggered every time a form

我有一个带有两个输入字段的表单,我想要一个脚本,如果在某个时间段后没有使用字段,它会显示一条弹出消息,询问“你还在吗?”或类似的问题


可能吗?请大家多多指教,谢谢

您需要启动一个30分钟的计时器,并在所有字段中附加一个
change
事件。更改时,您希望删除当前计时器,然后再创建一个新计时器30分钟

例如,它可能是这样的:

$('input[type=text]').bind('change', function (e) {
    // .. Triggered every time a form text field is changed
    // .. Do stuff here
});

对于计时器,您只需使用
settimeout

即可启动计时器30分钟,并在所有字段中附加
change
事件。更改时,您希望删除当前计时器,然后再创建一个新计时器30分钟

例如,它可能是这样的:

$('input[type=text]').bind('change', function (e) {
    // .. Triggered every time a form text field is changed
    // .. Do stuff here
});

对于计时器,您只需使用
settimeout

以下是JSFIDLE中的完整示例:

我建议使用setTimeOut调用一个方法,该方法可以显示消息或执行任何您想执行的操作。然后在所有输入类型上的更改事件上尝试重置超时。下面是模拟此场景的JS代码:

// Timer for 3 seconds to call formTimeOut function 
var _timer = setTimeout("formTimeOut()",3000);

$(function(){

    // Monitor Value change of Inputs in your HTML
    $("input").change(function(){

        // Clear previous timer 
        clearTimeout(_timer);
        // Reset the timer to re-run after 3 seconds.
        _timer = setTimeout("formTimeOut()",3000);

    });
});

// This is the function that will run after time out
function formTimeOut(){

    // Timeout Logic goes here
    alert("Are you there?");
}

您可以将$(“输入”)更改为适合您的项目的任何条件。

以下是JSFIDLE中的完整示例:

我建议使用setTimeOut调用一个方法,该方法可以显示消息或执行任何您想执行的操作。然后在所有输入类型上的更改事件上尝试重置超时。下面是模拟此场景的JS代码:

// Timer for 3 seconds to call formTimeOut function 
var _timer = setTimeout("formTimeOut()",3000);

$(function(){

    // Monitor Value change of Inputs in your HTML
    $("input").change(function(){

        // Clear previous timer 
        clearTimeout(_timer);
        // Reset the timer to re-run after 3 seconds.
        _timer = setTimeout("formTimeOut()",3000);

    });
});

// This is the function that will run after time out
function formTimeOut(){

    // Timeout Logic goes here
    alert("Are you there?");
}


您可以将$(“input”)更改为适合您的项目的任何条件。

您能提供一些代码吗tried@3nigma还没有尝试过任何代码,我正在搜索一个。你能提供一些你有的代码吗tried@3nigma还没有尝试过任何代码,我正在搜索一个。好主意,我对这个变化事件是新手,你能给我举一些这个变化事件的例子吗?谢谢更新了示例。您还可以在jQuery中使用
.change
方法。我也会给你一些如何使用它的例子。非常感谢@ktash我现在正在研究这个问题。似乎非常有用。@Ktash您应该使用
.on
而不是
.bind
这是一种更新的方法。不过仍然值得一提;)好主意,我对这个变化事件还不熟悉,你能给我一些这个变化事件的例子吗?谢谢更新了示例。您还可以在jQuery中使用
.change
方法。我也会给你一些如何使用它的例子。非常感谢@ktash我现在正在研究这个问题。似乎非常有用。@Ktash您应该使用
.on
而不是
.bind
这是一种更新的方法。不过仍然值得一提;)请不要只发布链接答案,至少在你的帖子中给出代码,并根据需要解释你做了什么。我只是在添加代码!!!另外,JSFIDLE还用于共享代码,这些代码实际上是模拟答案的,并且很容易重新启动。是的,但是想想那些从搜索引擎来到这里的人,他们不是看到答案中的代码,而是添加了一个到示例的链接,他们可能会完全错过您的答案-1对+1:)@真相,谢谢你的投票:-)我完全同意你。我通常先发布JsFiddle来帮助这个人,然后再开始添加更多信息。我在这个社区看到了与其他人相同的行为。请不要只发布链接答案,至少在你的帖子中给出代码并解释你所做的事情。我只是在添加代码!!!另外,JSFIDLE还用于共享代码,这些代码实际上是模拟答案的,并且很容易重新启动。是的,但是想想那些从搜索引擎来到这里的人,他们不是看到答案中的代码,而是添加了一个到示例的链接,他们可能会完全错过您的答案-1对+1:)@真相,谢谢你的投票:-)我完全同意你。我通常先发布JsFiddle来帮助这个人,然后再开始添加更多信息。我在这个社区的其他人身上看到了同样的行为。