js验证form表单数据是否正确决定是否跳转页面

相关的事件就是onsubmit,写在form标签上面,当验证通过时,则提交数据,跳转页面;当验证不通过时,则不提交数据。

在这里,验证的数据为密码是否是六位纯数字,如果是,则提交数据并跳转页面;如果不是则给出如下提示:

点击链接可以查看:http://1833233.com/effect/submitverification/apptest.html

form表单如下:

<form action="apptest.html" method="post" onsubmit="return myFunction()">
                        <div class="user-name">
                            <span class="glyphicon glyphicon-user"></span>
                            <span class="input-name"><input type="text" placeholder="用户名" name="username"></span>
                        </div>
                        <div class="user-password user-name">
                            <span class="glyphicon glyphicon-lock"></span>
                            <span class="input-name"><input type="text" placeholder="密码" name="password" class="passwd-value"></span>
                        </div>
                        <div class="tip">请输入六位数字的密码!!!</div>
                        <div class="user-identity user-name">
                            <input type="radio" name="identity" value="student" checked="true" />学生
                            <input type="radio" name="identity" value="teacher" />老师
                            <input type="radio" name="identity" value="administrator" />管理员
                        </div>
                        <div class="user-submit user-name">
                            <input type="submit" value="登录" class="btn btn-default" />
                        </div>
                    </form>

οnsubmit=”return myFunction()”为验证事件,当函数返回true的时候点击提交按钮时才会提交;当函数返回true的时候,则不会提交;myFunction()内容如下:

<script>
        var infoValueNode = document.querySelector(".passwd-value");
        var tipNode = document.querySelector(".tip");
        var identityNode = document.querySelector(".user-identity");

        function myFunction() {
            var value = infoValueNode.value; //获得输入框里面的值
            console.log("value=", value);
            var reg = /^\d{6}$/; //定义六位纯数字的正则表达式
            var pattern = new RegExp(reg); //创建RegEXP实例
            if (!pattern.test(value)) { //test方法是检测value值是否匹配正则表达式
                infoValueNode.style.borderColor = "#F56C6C";
                tipNode.style.display = "block";
                identityNode.style.marginTop = "0px";
                return false;
            } else {
                infoValueNode.style.borderColor = "#409eff";
                tipNode.style.display = "none";
                identityNode.style.marginTop = "21px";
            }
        }
    </script>
  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现不同角色跳转到不同页面,您可以在表单提交时,根据不同角色的输入信息进行判断,然后使用 `vue-router` 路由跳转到不同的页面。 下面是一个简单的示例,假设有两个角色:管理员和普通用户。管理员在表单中输入账号和密码后,点击提交按钮跳转到管理员页面;普通用户在表单中输入账号和密码后,点击提交按钮跳转到用户页面。 在模板中,您可以使用 `v-if` 来根据当前角色显示不同的表单内容。例如: ```html <template> <div> <form v-if="isAdmin" @submit.prevent="submitAdminForm"> <label>账号</label> <input type="text" v-model="adminAccount"> <label>密码</label> <input type="password" v-model="adminPassword"> <button type="submit">提交</button> </form> <form v-else @submit.prevent="submitUserForm"> <label>账号</label> <input type="text" v-model="userAccount"> <label>密码</label> <input type="password" v-model="userPassword"> <button type="submit">提交</button> </form> </div> </template> ``` 在脚本中,您可以定义不同角色的数据以及提交表单的方法: ```javascript <script> export default { data() { return { isAdmin: true, // 是否是管理员角色 adminAccount: '', adminPassword: '', userAccount: '', userPassword: '' } }, methods: { submitAdminForm() { // 在这里根据管理员输入的账号和密码进行验证 // 如果验证通过,使用 vue-router 跳转到管理员页面 this.$router.push('/admin') }, submitUserForm() { // 在这里根据用户输入的账号和密码进行验证 // 如果验证通过,使用 vue-router 跳转到用户页面 this.$router.push('/user') } } } </script> ``` 注意,在实际应用中,您需要根据具体需求进行更改,例如添加更多角色、使用 Vuex 管理状态等。同时,也需要注意安全性问题,例如防止 CSRF 攻击、密码加密等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值