我已经试过了:
<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);
});
});
关于javascript - 如何使用 JQuery 在 5 秒后清除文本框值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14152744/