代码敲上天. 2021-07-29 23:48 采纳率: 56%
浏览 67
已结题

简单的表单提交格式校验,总是不执行,跳过了,不知道错在哪?

    <%--    <八大内置对象之一,获取当前路径--%>
    <form name="f" action="${pageContext.request.contextPath}/user/login.do" onsubmit="return check()" method="post" >

        用户账号:<input  type="text" name="id" placeholder="请输入账号....." ><br><br><br>
        用户密码:<input  type="text" name="password" placeholder="请输入密码....."><br><br><br>
        <input type="submit" value="登录" >

        <a href="${pageContext.request.contextPath}/user/to_register.do">
            <input type=button value="注册" >
        </a>

        <a href="${pageContext.request.contextPath}/user/to_register.do">
            <input type=button value="修改密码" >
        </a>

    </form>

    <script  type="text/javascript">
        function check(){

            var inputElement1 = document.getElementsByName("id");
            var inputElement2 = document.getElementsByName("password");

            if(/^\s*$/.test(inputElement1.value)){
                alert("请输入用户名");
                return false;
            }

            if( /^\s*$/.test(inputElement2.value)){
                alert("请输入密码");
                return false;
            }
            return true;
        }
    </script>


  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2021-07-30 09:46
    关注

    document.getElementsByName返回的是NodeList数组,不是DOM对象,要加[0]转为dom对象。要么用document.getElementById,但是需要给对应的input对象增加id="id",id="password"属性

    有帮助麻烦点个采纳【本回答右上角】,谢谢~~有其他问题可以继续交流~

    
        <%--    <八大内置对象之一,获取当前路径--%>
        <form name="f" action="${pageContext.request.contextPath}/user/login.do" onsubmit="return check()" method="post">
            用户账号:<input type="text" name="id" placeholder="请输入账号....."><br><br><br>
            用户密码:<input type="text" name="password" placeholder="请输入密码....."><br><br><br>
            <input type="submit" value="登录">
            <a href="${pageContext.request.contextPath}/user/to_register.do">
                <input type=button value="注册">
            </a>
            <a href="${pageContext.request.contextPath}/user/to_register.do">
                <input type=button value="修改密码">
            </a>
        </form>
        <script type="text/javascript">
            function check(){
                var inputElement1 = document.getElementsByName("id")[0];///转dom对象
                var inputElement2 = document.getElementsByName("password")[0];///转dom对象
                if (/^\s*$/.test(inputElement1.value)) {
                    alert("请输入用户名");
                    inputElement1.focus();///设置焦点
                    return false;
                }
                if( /^\s*$/.test(inputElement2.value)){
                    alert("请输入密码");
                    inputElement2.focus();///设置焦点
                    return false;
                }
                return true;
            }
        </script>
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月7日
  • 已采纳回答 7月30日
  • 创建了问题 7月29日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么