在JavaScript中,验证表单数据并在验证不通过时不提交表单是一种常见的需求。以下是一个完整的示例,展示了如何实现这一功能:
event.preventDefault()
方法阻止表单的默认提交行为。以下是一个简单的HTML表单和相应的JavaScript验证代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Form Validation</title>
</head>
<body>
<form id="myForm" action="/submit" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="username" required>
<br><br>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<br><br>
<button type="submit">Submit</button>
</form>
<script>
document.getElementById('myForm').addEventListener('submit', function(event) {
// 获取表单数据
const username = document.getElementById('username').value;
const email = document.getElementById('email').value;
// 简单的验证逻辑
if (username.trim() === '') {
alert('Username is required');
event.preventDefault(); // 阻止表单提交
return;
}
if (!isValidEmail(email)) {
alert('Invalid email address');
event.preventDefault(); // 阻止表单提交
return;
}
});
function isValidEmail(email) {
// 简单的正则表达式验证电子邮件格式
const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return regex.test(email);
}
</script>
</body>
</html>
通过上述方法,可以有效地在JavaScript中实现表单验证,并在验证不通过时阻止表单提交。
领取专属 10元无门槛券
手把手带您无忧上云