为什么不能跳转?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>正则作业</title> <link rel="stylesheet" href="CSS/css.css"> <script src="JS/js.js"></script> </head> <body> <header> <div class="wrap clearfix"> <div class="header-left clearfix"> <img src="imgs/logo.png"> <p>慕课高铁客户服务中心 | <span>客户服务</span></p> </div> <div class="header-right clearfix"> <ul class="clearfix"> <li>意见反馈</li> <li><a href="#">imooc@.com</a></li> <li>您好,请 <a href="#">登陆</a> | 注册</li> <li>我的IMOOC</li> <li>手机版</li> </ul> </div> </div> </header> <section class="wrap"> <p class="p1">您现在的位置:<span class="span1">客运首页 > 注册</span></p> <div> <div class="title"> 账户信息 </div> <div class="main"> <form> <table> <tr> <td><span class="star">*</span> 用 户 名:</td> <td><input type="text" id="username" placeholder="用户名设置成功后不可修改"></td> <td><span class="ts">6-30位字母、数字或"_",字母开头</span></td> </tr> <tr> <td><span class="star">*</span> 登录密码:</td> <td><input type="password" id="password" placeholder="6-20位字母,数字或符号"><span class="ts"></span></td> <td> <div class="password-div"></div> <div class="password-div"></div> <div class="password-div"></div> </td> </tr> <tr> <td><span class="star">*</span> 确认密码:</td> <td><input type="password" id="password_" placeholder="请再次输入密码"></td> <td><span class="ts"></span></td> </tr> <tr class="chinaname"> <td><span class="star">*</span> 姓 名:</td> <td><input type="text" id="ch_name" placeholder="请输入姓名"></td> <td class="chinaname_1"> <span class="name_rule ts">姓名填写规则</span> <div class="hide"> 1.确认姓名中生僻字无法输入时,可用生僻字拼音或同音字替代。<br> 2.输入姓名保存后,遇有系统无法正确显示的汉字,可用该汉子的拼音或同音字重新修改 后保存。<br> 3.姓名中有繁体字无法输入时,可用简体昔代。<br> 4.姓名较长,汉字与英文字符合计超过30个( 1个汉子算2个字符)的,需按姓名中第一 个汉字或英文字符开始按顺序连续输入30个字符(空格字符不输入),其中英文字符输 入时不去别大写。 </div> </td> </tr> <tr> <td><span class="star">*</span> 证件类型:</td> <td> <select> <option value="id">二代身份证</option> <option value="hz">护照</option> <option value="tbz">台胞证</option> </select> </td> <td><span></span></td> </tr> <tr> <td><span class="star">*</span> 证件号码:</td> <td><input type="text" id="id_number" placeholder="请输入证件号"></td> <td><span class="ts"></span></td> </tr> <tr> <td> 邮 箱:</td> <td><input type="text" id="email" placeholder="请输入邮箱"></td> <td><span class="ts"></span></td> </tr> <tr> <td><span class="star">*</span> 手机号码:</td> <td><input type="text" id="phone" placeholder="请输入手机号码"></td> <td><span class="ts">请正确填写手机号码,稍后向该手机号码发送验证码</span></td> </tr> <tr> <td><span class="star">*</span> 旅客类型:</td> <td> <select> <option value="cr">成人</option> <option value="rt">儿童</option> <option value="xs">学生</option> <option value="cj">残疾军人</option> <option value="sc">伤残人民警察</option> </select> </td> <td></td> </tr> <tr> <td></td> <td colspan="2"> <input type="checkbox" id="checkbox"> <span>我已阅读并同意遵守<a href="#" style="color: rgb(36, 135, 201);">《中国铁路客户服务中心网站服务条款》</a></span> </td> </tr> </table> <input type="submit" class="submit" id="submit" value="下一步"> </form> </div> </div> </section> <footer> <p>关于我们 | 网站申明</p> <p>copyright © 2017 imooc.com All Rights Reserved | 京ICP备 13046642号-2</p> </footer> </body> </html>
*{
padding: 0;
margin: 0;
}
a{
text-decoration: none;
color: rgb(251, 116, 3);
}
li{
list-style: none;
}
.clearfix::after {
content: "";
display: block;
width: 0;
height: 0;
visibility: hidden;
clear: both;
}
.clearfix {
zoom:1;
}
.wrap{
width: 1200px;
margin: 0 auto;
position: relative;
}
header,
footer{
width: 100%;
height: 11vh;
min-height: 100px;
background-color: rgb(220,220,220);
box-sizing: border-box;
}
header{
border-bottom: 3px solid rgb(36, 135, 201);
}
.header-left{
float: left;
}
.header-left img{
width: 100px;
height: 100px;
float: left;
text-align: center;
vertical-align: middle;
}
.header-left > p{
line-height: 11vh;
float: right;
font-size: 28px;
color: black;
vertical-align: middle;
}
.header-left p span{
font-size: 18px;
color: gray;
vertical-align: middle;
}
.header-right{
float: right;
}
.header-right li{
float: left;
font-size: 18px;
line-height: 11vh;
margin-left: 25px;
}
section{
height: 78vh;
border: 5px solid white;
box-sizing: border-box;
}
section .p1{
color: black;
font-size: 18px;
margin: 10px 0;
font-weight: bold;
}
section .p1 .span1{
color: gray;
font-weight: normal;
}
section > div{
width: 100%;
height: 60vh;
border-radius: 15px;
border: 2px solid rgb(251, 116, 3);
margin: 20px 0;
overflow: hidden;
}
section > div > .title{
width: 100%;
height: 50px;
border-radius: 10px;
background-color: rgb(251, 116, 3);
color: white;
line-height: 50px;
font-size: 20px;
text-indent: 1em;
overflow: hidden;
}
section > div > .main{
width: 100%;
overflow: hidden;
}
.star{
color: red;
}
.name_rule{
text-decoration: underline;
cursor: pointer;
}
.hide{
display: none;
}
table{
margin: 20px auto;
}
table tr{
height: 35px;
}
input,
select{
width: 200px;
height: 24px;
box-sizing: border-box;
text-indent: .3em;
}
table tr td:nth-child(1){
width: 100px;
}
table tr td:nth-child(2){
width: 200px;
}
#checkbox{
width: 16px;
height: 16px;
}
table tr td:nth-child(3){
width: 315px;
font-size: 13px;
text-indent: 1em;
color: rgb(251, 116, 3);
}
.password-div{
float: left;
width: 40px;
height: 6px;
margin-left: 10px;
background-color: lightgray;
}
.password-div:nth-child(1){
background-color: red;
}
.submit{
display: block;
margin: 0 auto;
width: 250px;
height: 40px;
border-radius: 5px;
background-color: rgb(251, 116, 3);
border: none;
color: white;
cursor: pointer;
}
footer{
border-top: 3px solid rgb(36, 135, 201);
padding: 10px 0;
}
footer p{
text-align: center;
color: gray;
margin: 10px 0;
}//页面预加载
window.onload = function () {
//获取表单提示文本
var items = document.getElementsByClassName('ts');
//声明数组,用来保存验证结果
var test = [false, false, false, false, false, false, false];
//获取所有表单
var username = document.getElementById('username');
var password = document.getElementById('password');
var password_ = document.getElementById('password_');
var ch_name = document.getElementById('ch_name');
var id_number = document.getElementById('id_number');
var email = document.getElementById('email');
var phone = document.getElementById('phone');
var checkbox = document.getElementById('checkbox');
var btn = document.getElementById('submit');
//绑定事件
username.onblur = function () {
var reg = /^ %/;
if (this.value == "") {
items[0].innerHTML = "用户名不能为空";
items[0].style.color = 'red';
test[0] = false;
} else {
if (!reg.exec(this.value)) {
items[0].innerHTML = "用户名格式不对";
items[0].style.color = 'red';
test1[0] = false;
} else {
items[0].innerHTML = "格式正确";
items[0].style.color = 'green';
test[0] = true;
}
}
console.log(test);
}
password.onblur = function () {
var reg = /^ %/;
if (this.value == "") {
items[1].innerHTML = "密码不能为空";
items[1].style.color = 'red';
test[1] = false;
} else {
if (!reg.exec(this.value)) {
items[1].innerHTML = "密码格式不对";
items[1].style.color = 'red';
test[1] = false;
} else {
items[1].innerHTML = "格式正确";
items[1].style.color = 'green';
test[1] = true;
}
}
console.log(test);
}
password_.onblur = function () {
if (this.value == "") {
items[2].innerHTML = "确认密码不能为空";
items[2].style.color = 'red';
test[2] = false;
} else {
if (this.value != password.value) {
items[2].innerHTML = "密码不一致";
items[2].style.color = 'red';
test[2] = false;
} else {
items[2].innerHTML = "格式正确";
items[2].style.color = 'green';
test[2] = true;
}
}
console.log(test);
}
ch_name.onblur = function () {
var reg = /^ %/;
if (this.value == "") {
items[3].innerHTML = "姓名不能为空";
items[3].style.color = 'red';
test[3] = false;
} else {
if (!reg.exec(this.value)) {
items[3].innerHTML = "姓名格式不对";
items[3].style.color = 'red';
test[3] = false;
} else {
items[3].innerHTML = "格式正确";
items[3].style.color = 'green';
test[3] = true;
}
}
console.log(test);
}
id_number.onblur = function () {
var reg = /^ %/;
if (this.value == "") {
items[4].innerHTML = "证件号不能为空";
items[4].style.color = 'red';
test[4] = false;
} else {
if (!reg.exec(this.value)) {
items[4].innerHTML = "证件号格式不对";
items[4].style.color = 'red';
test[4] = false;
} else {
items[4].innerHTML = "格式正确";
items[4].style.color = 'green';
test[4] = true;
}
}
console.log(test);
}
email.onblur = function () {
var reg = /^ %/;
if (this.value == "") {
items[5].innerHTML = "邮箱不能为空";
items[5].style.color = 'red';
test[5] = false;
} else {
if (!reg.exec(this.value)) {
items[5].innerHTML = "邮箱格式不对";
items[5].style.color = 'red';
test[5] = false;
} else {
items[5].innerHTML = "格式正确";
items[5].style.color = 'green';
test[5] = true;
}
}
console.log(test);
}
phone.onblur = function () {
var reg = /^ %/;
if (this.value == "") {
items[6].innerHTML = "手机号不能为空";
items[6].style.color = 'red';
test[6] = false;
} else {
if (!reg.exec(this.value)) {
items[6].innerHTML = "手机号格式不对";
items[6].style.color = 'red';
test[6] = false;
} else {
items[6].innerHTML = "格式正确";
items[6].style.color = 'green';
test[6] = true;
}
}
console.log(test);
}
//在数组内搜索false,如果搜到,则填写有误,不能提交,反正,填写成功,可以提交
btn.onclick = function () {
//用来测试页面跳转
test = [true, true, true, true, true, true, true];
if (test.indexOf(false) !== -1) {
alert('填写有误!');
} else {
if (!checkbox.checked) {
alert('请阅读并同意服务条款');
} else {
alert('提交成功');
location.href = "https://www.imooc.com/";
}
}
}
}1
收起
正在回答
1回答
因为是form表单,会先执行form提交,提交之后,就已经不在当前页面了,所以 window.location.href无效,如下测试,注释掉form标签即可跳转

解决办法是在js中添加window.event.returnValue=false,表示在这次点击事件不会提交表单

希望可以帮到你!
组件化思想开发电商网页 18版
- 参与学习 人
- 提交作业 467 份
- 解答问题 4826 个
本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星