我在实施JS重定向倒计时时遇到问题... 在这里你可以看到按钮html,当我点击它时它应该开始重定向倒计时:
<footer>
<button type="submit" class="btn btn-primary">
<i class="fa fa-refresh"></i> Reset Password
</button>
</footer>
这是js:
$("button").click(function() {
var count = 3;
var countdown = setInterval(function(){
$("#redirect").text(count);
if (count == 0) {
clearInterval(countdown);
window.open('index.php', "_self");
}
count--;
}, 1000);
});
问题在于,当我点击按钮时,它没有做任何不计数重定向的事情。如果我将脚本移出按钮点击事件,那么它可以正常工作..我错过了什么,在这里不明白吗?
谢谢..
答案 0 :(得分:3)
您的按钮是submit
按钮,即它将提交当前表单并肯定会刷新页面,这将导致您的脚本被终止。
如果要避免提交按钮的默认行为,则应添加e.preventDefault()
$("button").click(function(e) {
var count = 3;
var $that = $(this);
var countdown = setInterval(function(){
$("#redirect").text(count);
if (count == 0) {
clearInterval(countdown);
window.open('index.php', "_self");
// submit now
$that.closest('form').submit();
}
count--;
}, 1000);
e.preventDefault();
});