JavaScript 实现表单非空验证与提交阻断
作者:木棉时间:2026-10-25 08:15:46浏览:313
本文介绍如何使用 JavaScript 对表单内容进行非空验证。通过封装独立函数检查输入值,若为空则在指定元素中提示。关键步骤包括利用 e.preventDefault() 阻断默认提交行为,并在提交逻辑中判定姓名与密码是否为空,确保数据完整后再执行跳转。
表单验证

- 获取表单内容进行非空验证,建议将检查逻辑封装为独立函数,以便后续多处调用。
- 当检测到输入为空时,向指定的 P 元素中添加提示信息。
- 必须阻断表单的默认提交行为,否则页面会直接跳转,无法完成校验。具体做法是调用
e.preventDefault()方法。 - 在触发提交事件时,需要判定输入内容是否为空。
- 对于键值对的提交方式,同样需要执行非空判定检查。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div {
width: 600px;
height: 600px;
margin: 50px auto;
background-color: skyblue;
padding: 20px;
}
div input {
width: 520px;
height: 50px;
margin-top: 50px;
}
</style>
</head>
<body>
<div>
<form action="">
<input type="text" name="name" placeholder="输入用户名"><br>
<p class="nameTip"></p>
<input type="password" name="password" placeholder="输入密码"><br>
<p class="passwordTip"></p>
<input type="submit" name="submit" value="按钮">
</form>
</div>
<script>
var formEle = document.querySelector('form')
var nameinput = document.querySelector('input[name="name"]')
var passwordinput = document.querySelector('input[name="password"]')
var pnameTip = document.querySelector('.nameTip')
var ppasswordTip = document.querySelector('.passwordTip')
//是否为空判定
function checkUserNameNull(){
if(nameinput.value==''){
pnameTip.innerHTML='输入名字'
return false
}else{
pnameTip.innerHTML=''
return true
}
}
//失去焦点进行用户名是否为空验证
nameinput.οnblur=function (){
checkUserNameNull()
}
//是否为空判定
function checkPasswordNull(){
if(passwordinput.value==''){
ppasswordTip.innerHTML='输入名字'
return false
}else{
ppasswordTip.innerHTML=''
return true
}
}
//失去焦点进行密码框是否为空验证
passwordinput.οnblur=function (){
checkPasswordNull()
}
//提交时验证
formEle.onsubmit = function (e) {
e.preventDefault()
//阻止表单默认提交
var nameisok=checkUserNameNull()
var passwordisok= checkPasswordNull()
//都满足不为空提交
if(nameisok && passwordisok){
location.href = 'https://www.baidu.com/'
}
}
//键值提交
document.οnkeyup=function (e){
var keyCode=e.keyCode|| e.which
if(keyCode==13&&e.shiftKey){
var nameisok=checkUserNameNull()
var passwordisok= checkPasswordNull()
if(nameisok && passwordisok){
location.href = 'https://www.baidu.com/'
}
}
}
</script>
</body>
</html>
到此这篇关于 javascript 表单是否为空验证方法的文章就介绍到这了,更多相关 javascript 表单为空内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
作者最新文章
JavaScript怎么准确判断数据类型:typeof、instanceof与Object.prototype.toString
2026-11-05 17:09:21
JS中将数组和对象混合组装为JSON字符串
2026-11-05 16:41:42
JS运算符优先级与结合性的区别是什么?
2026-11-05 13:22:02
JS Map怎么只遍历Key或Value
2026-11-05 13:00:36
D3.js 与 ECharts 选型对比:灵活性 vs 开发效率
2026-11-05 09:45:01
