javascript - 如何使用 JQuery 在 5 秒后清除文本框值?

标签 javascript jquery

我已经试过了:

  <script type="text/javascript">
        $(function() {
            $("#button").click( function()
            {
                alert('button clicked'); // this is calling
                setTimeout(function(){
                    alert('setTimeout');  // this is not calling
                    document.getElementById('clearTxt').value = "";
                }, 9000);
            }
        );
        });
    </script>

我的 HTML 代码:

    <form>
            <input type="text" id="clearTxt"/>                                              
            <input type="submit"  value="Search" id="button"  />
    </form>

但是这段代码不起作用。请帮我解决这个问题。

最佳答案

当我将您的代码粘贴到 fiddle 中时,警报确实触发了。然而,超时功能不会执行,因为由于输入框周围的表单标签,当您单击提交按钮时,您会离开页面并且超时功能没有时间执行。您应该将 submit 更改为按钮,或者在函数中调用 preventDefault() 以停止提交表单。

此代码有效:

HTML:

<form>
    <input type="text" id="clearTxt" />                                           
    <input type="button" value="Search" id="button" />​
</form>

脚本:

$(function() {
    $("#button").click( function () {
        alert('button clicked');
        setTimeout(function(){
            alert('setTimeout');
            document.getElementById('clearTxt').value = "";
        }, 5000);
    });
});

参见 http://jsfiddle.net/acfkU/1/

关于javascript - 如何使用 JQuery 在 5 秒后清除文本框值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14152744/

相关文章:

javascript - 避免在可重用组件中直接修改 prop

javascript - JSXGraph 性能问题

javascript - 弹出窗口的 Jquery 关闭问题

javascript - jQuery:隐藏按钮 3 秒。 setInterval/.hide,还是toggleClass?

jquery ajax - 为每个 ajax 请求添加一个公共(public)参数

javascript - 选择除 $(this) 之外的所有类节点

javascript - 有没有更聪明的方法来编写这个正则表达式?

javascript - 垂直对齐和具有动态内容和高度的元素

javascript - Timeago Jquery 插件不工作

Javascript Bookmarklet 用链接替换文本