javascript - setTimout() 函数在函数内部不起作用
问题描述
所以,这里是函数,当我将setTimeout()
函数放入函数中时checkForm
它不起作用,也尝试将它放在checkForm
函数之外,它也不起作用。
function checkForm(event) {
event.preventDefault();
var name = document.getElementById('username').value;
var email = document.getElementById('user-email').value;
var message = document.getElementById('message').value;
var error = "";
if (name.length == 1 || email.length == 1 || message.length == 1) {
error = "Min length of the fields is 2 character."
} else if (name == "" || email == "" || message == "") {
error = "Fields are empty."
} else if (name.length > 15 || email.length > 20 || message.length > 100) {
error = "Max length of the fields is 15 charcaters."
}
if (error == "") {
alert("You sucessfully filled up the form.");
setTimeout(function () {
window.location = "https://www.ebay.com/"
}, 5000);
} else {
document.getElementById('errorDiv').innerHTML = error;
}
}
解决方案
您需要更改为window.location.href = "your link"
function checkForm(event) {
setTimeout(function () {
window.location.href = "https://www.ebay.com/";
alert('go to ebay');
}, 2000);
}
<button onclick="checkForm()">Check Form</button>
推荐阅读
- iphone - 新 Iphone 型号发布后的整页背景图像大小 (Xcode)
- java - 从服务器检索信息时出现应用内购买错误 [DF-AA-20] - android
- windows - 如何在 Windows 上从 USB 设备 VID 和 PID 获取供应商名称和产品名称?
- html - 其他元素堆叠在一起,我已经将它们的容器设置为 position:relative;
- c++ - std::async 监控线程年龄
- node.js - 反应客户端尝试获取数据时如何解决express.js中的CORS请求未成功?
- azure - ARM - 将现有的应用程序洞察资源映射到应用服务
- html - 对无序列表的质疑
- swift - Swft:制作一个球并将其垂直放置在屏幕底部。然后当你快速按下球时垂直移动球
- c# - C#同时监听两个tcp端口