对Form表单的输入框值做前端校验,若为空则阻止表单提交,否则表单提交给后台Servlet处理

原理:阻止表单提交是通过form的onSubmit方法,返回false控制的。即<form οnsubmit=“reutrn false”></form>

实现:

Step 1:将form的onSubmit方法设置为return 函数(this)

        <form method="post" action="LoginServlet" onSubmit="return login(this)">

Step 2:在function login(formvalue)函数中设置一个变量:isSubmit = true

             若用户名或密码为空,则使isSubmit = false

Step 3:对isSubmit进行判断,若isSubmit = false,则return false;   阻止表单提交;否则表单正常提交。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Login Page</title>
    <style>
        .error{
        color : red;
        }
    </style>
</head>
<body>
    <form method="post" action="LoginServlet" onSubmit="return login(this)">
        <div class="item">
            <label>usename:</label>
            <input name="username" type="text"/>
            <span id="username-error" class="error"></span>
        </div>
        <div class="item">
            <label>password:</label>
            <input name="password" type="password"/>
            <span id="password-error" class="error"></span>
        </div>
        <div>
        <input type="submit" value="Login" />
        </div>
    </form>
    <script>
        // 现在前端做数据合法性校验,若不通过,则阻止表单提交;否则,表单正常提交
        function login(formvalue){
            var username = formvalue.username.value;
            var password = formvalue.password.value;
            
            var uError = document.getElementById("username-error");
            var pError = document.getElementById("password-error");
            
            var isSubmit = true
            
            if("" == username){
                isSubmit = false;
                uError.innerHTML = "用户名不能为空!"
            }
            if("" == password){
                isSubmit = false;
                pError.innerHTML = "密码不能为空!"
            }
            
            if(!isSubmit){
                // 阻止表单提交
                return false;
            }
        }
    </script>
</body>
</html>

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值