diff --git "a/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-16zy.txt" "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-16zy.txt" new file mode 100644 index 0000000000000000000000000000000000000000..2a7e49024eb0b39ee22f122a851ace861630379d --- /dev/null +++ "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-16zy.txt" @@ -0,0 +1,105 @@ +function CheckAccount() + { + var txtAccount = document.querySelector('#txtAccount'); + var spanAccount = document.querySelector('#spanAccount'); + if (txtAccount.value=='') { + spanAccount.innerHTML = '请输入用户名'; + }else{ + spanAccount.innerHTML = ''; + } + } + + //检查密码 + function CheckPwd() + { + var txtPwd = document.querySelector('#txtPwd'); + var spanPwd = document.querySelector('#spanPwd'); + if (txtPwd.value=='') { + spanPwd.innerHTML = '请输入密码'; + }else{ + spanPwd.innerHTML = ''; + } + } + + //检查密码确认 + function CheckPwdOk() + { + var txtPwdOk = document.querySelector('#txtPwdOk'); + var spanPwdOk = document.querySelector('#spanPwdOk'); + if (txtPwdOk.value=='') { + spanPwdOk.innerHTML = '请输入密码'; + }else if(txtPwdOk.value!=txtPwd.value){ + spanPwdOk.innerHTML = '请输入正确的密码'; + }else{ + spanPwdOk.innerHTML = ''; + } + } + + //检查性别 + function CheckSex() + { + var sex = document.getElementsByName('sex'); + var spanSex = document.querySelector('#spanSex'); + if (sex[0].check==false&&sex[1].check==false) { + spanSex.innerHTML = '请选择性别'; + }else if(sex[0].check==true||sex[1].check==true){ + spanSex.innerHTML = ''; + } + } + + //选择专业 + function CheckProfessional() + { + var selProfessional = document.querySelector('#selProfessional'); + var spanProfessional = document.querySelector('#spanProfessional'); + if (selProfessional.value == '') { + spanProfessional.innerHTML = '请选择专业'; + }else{ + spanProfessional.innerHTML = ''; + } + } + + //检查爱好 + function CheckHobby() + { + var hobby = document.getElementsByName('hobby'); + var spanHobby = document.querySelector('#spanHobby'); + var t = 'false'; + for (var i = 0; i < hobby.length; i++) { + if (hobby[i].checked==true) { + console.log(hobby[i].checked); + t = 'true'; + } + } + if (t=='false') { + spanHobby.innerHTML = '请至少选择一个爱好'; + }else{ + spanHobby.innerHTML = ''; + } + } + + //注册表单提交 + function reg() + { + + CheckAccount(); + CheckPwd(); + CheckPwdOk(); + CheckSex(); + CheckProfessional(); + CheckHobby(); + var errInfo = document.querySelectorAll('.errInfo'); + console.log(errInfo.length); + var t = 'true' + for (var i = 0; i < errInfo.length; i++) { + if (errInfo[i].innerHTML!='') { + t = 'false' + var form = document.querySelector('form'); + form.action=''; + return alert('注册失败'); + } + } + if (t == 'true') { + alert('注册成功'); + } + } \ No newline at end of file diff --git "a/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-17zy.txt" "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-17zy.txt" new file mode 100644 index 0000000000000000000000000000000000000000..ee7917753b56ad3a4c3d59ea105c6946733313b4 --- /dev/null +++ "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-17zy.txt" @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git "a/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-22zy.txt" "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-22zy.txt" new file mode 100644 index 0000000000000000000000000000000000000000..1489c4535ba00f562457949f71c4ab0f31a7c659 --- /dev/null +++ "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-22zy.txt" @@ -0,0 +1,15 @@ + \ No newline at end of file diff --git "a/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-24zy.txt" "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-24zy.txt" new file mode 100644 index 0000000000000000000000000000000000000000..87d1004fce0fd1a77696bcfca51bfdba98e721ae --- /dev/null +++ "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-24zy.txt" @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git "a/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-28zy.txt" "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-28zy.txt" new file mode 100644 index 0000000000000000000000000000000000000000..48dd066a6fa1cd09ca9fa1d8fcf664e1993a845d --- /dev/null +++ "b/17 \344\276\257\351\224\237\351\223\226/\344\275\234\344\270\232/11-28zy.txt" @@ -0,0 +1,22 @@ +获取下拉框的值 + +var select = document.getElementById('sel'); + // var option = document.getElementsByTagName('option'); + select.onchange = () =>{ + for (var a of select) { + if (a.selected) { + console.log(a.innerText); + } + } + } + +反选not + +$('#selectAll').change(function () { + var bool = $(this).is(':checked'); + if (bool) { + var truee = $("[class='fruit']").not($(':checked')); + $("[class='fruit']").not(truee).prop('checked',''); + truee.prop('checked','checked'); + } + }) \ No newline at end of file diff --git "a/17 \344\276\257\351\224\237\351\223\226/\347\254\224\350\256\260/26-11-30bj.txt" "b/17 \344\276\257\351\224\237\351\223\226/\347\254\224\350\256\260/26-11-30bj.txt" new file mode 100644 index 0000000000000000000000000000000000000000..d384f882546cbfd1447e14026a12cbefbd73ce1f --- /dev/null +++ "b/17 \344\276\257\351\224\237\351\223\226/\347\254\224\350\256\260/26-11-30bj.txt" @@ -0,0 +1,110 @@ + +## 一,原生AJAX +### 1,GET方法;传送数据量小,处理效率高,安全性低,会被缓存 + + send()中不需要添加任何参数,因为在连接服务器的时候就已经发送 + get请求就不必要设置 xhr.setRequestHeader(header,value) + +var newAj=new XMLHttpRequest(); + newAj.open("GET","json练习.json",true); + newAj.send(); + newAj.onreadystatechange=function(){ + if (newAj.readyState==4) { + if (newAj.status==200) { + var obj=JSON.parse(newAj.responseText); + console.log(obj); + } + } + } + +### 2,post方法;传送数据量大,处理效率低,安全性高,不会被缓存 + + send()中需要添加参数,建议设置请求头 + 参数可以是null或者xhr.send()|send(带有参数的)post请求在传递值的情况下必须 设置 xhr.setRequestHeader(header,value) + + var xhr = new XMLHttpRequest(); + xhr.open('post', 'data.json', true); + xhr.send({ a: 100, b: 200 }); + //设置行头 + xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + xhr.onreadystatechange = function () { + if (xhr.readyState == 4 && xhr.status == 200) { + console.log(xhr.response['No1']); + // 手动转成对象 + // var obj = JSON.parse(xhr.response); + } + } + +### 3.响应数据处理;将返回的json类型的数据转换成对象 +#### 1,手动转换 + +var obj = JSON.parse(xhr.response) +console.log(obj.name) + +#### 2,自动转换 + +//创建对象后设置: +xhr.responseType = 'json'; +console.log(xhr.response.name) + +## 二,jQuery Ajax +### 1,$.get();执行get请求方式的ajax + + $('button').eq(0).click( + function () { + $.get('data.json',{a:100,b:200},function (data) { + console.log(data); + },'json'); + } + ) + +### 2,$.post();执行post请求方式的ajax + + $('button').eq(1).click( + function () { + $.post('data.json',{a:100,b:200},function (data) { + console.log(data); + },'json'); + } + ) + +### 3,$.getJSON() + + 通过Ajax获取服务器中JSON格式的数据 + “全局方法”,直接定义在jQuery对象(即“$”)下的方法 + + $('button').eq(2).click( + function () { + $.getJSON('data.json',function (data) { + console.log(data); + }) + } + ) + +### 4,$.getScript();动态加载JavaScript的方法 + + 通过AJAX来获取并运行一个外部JavaScript文件 + 异步跨域加载JavaScript文件,可避免提前加载JavaScript文件 + 减少服务器和客户端的负 担,加快页面加载速度 + + $('button').eq(3).click( + function () { + $.getScript('test.js'); + } + ) + +### 5,$.ajax();核心方法,所有的其他方法都是在内部使用此方法 + + 以上方法用ajax()都能实现 + + $('button').eq(4).click( + function () { + $.ajax({ + url:'data.json', + type:'get', + data:{a:100,b:200}, + success:(data) => console.log(data), + error:()=> console.log('请求失败') + }) + } + ) \ No newline at end of file diff --git "a/17 \344\276\257\351\224\237\351\223\226/\347\254\224\350\256\260/26-12-1AJAX.Markdown" "b/17 \344\276\257\351\224\237\351\223\226/\347\254\224\350\256\260/27-12-1AJAX.Markdown" similarity index 100% rename from "17 \344\276\257\351\224\237\351\223\226/\347\254\224\350\256\260/26-12-1AJAX.Markdown" rename to "17 \344\276\257\351\224\237\351\223\226/\347\254\224\350\256\260/27-12-1AJAX.Markdown"