首页 > 代码库 > JavaScript学习笔记
JavaScript学习笔记
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head> <body> 模拟加入/删除用户:<br> 姓名: <input type="text" name="name" id="name" /> email: <input type="text" name="email" id="email" /> 电话: <input type="text" name="tel" id="tel" /> <button id="addUser">提交</button> <table id="usertable" border="1" cellpadding="5" cellspacing=0 width="600"> <tbody> <tr> <th>姓名</th> <th>email</th> <th>电话</th> <th>操作</th> </tr> <tr> <td>Tom</td> <td>tom@tom.com</td> <td>5000</td> <td><a href="http://www.mamicode.com/#">Delete</a></td> </tr> </tbody> </table> <script language="JavaScript"> //dom结构绘制完成,页面的全部关联的文件必须载入完成(图片) window.onload=function(){ //<button id="addUser">提交</button> document.getElementById("addUser").onclick=function(){ /******************************************************************************************************/ //获取文本框的值 /* * 姓名: <input type="text" name="name" id="name" /> email: <input type="text" name="email" id="email" /> 电话: <input type="text" name="tel" id="tel" /><br><br> */ var nameValue=http://www.mamicode.com/document.getElementById("name").value; var emailValue=http://www.mamicode.com/document.getElementById("email").value; var telValue=http://www.mamicode.com/document.getElementById("tel").value; /******************************************************************************************************/ //创建td /* * <tr> <td>Tom</td> <td>tom@tom.com</td> <td>5000</td> <td><a href="http://www.mamicode.com/deleteEmp?id=Tom">Delete</a></td> </tr> */ //创建nametd var nameTd=document.createElement("td"); var nameText=document.createTextNode(nameValue); nameTd.appendChild(nameText); //创建emailtd var emailTd=document.createElement("td"); var emailText=document.createTextNode(emailValue); emailTd.appendChild(emailText); //创建teltd var telTd=document.createElement("td"); var telText=document.createTextNode(telValue); telTd.appendChild(telText); //创建atd var aTd=document.createElement("td"); var aElement=document.createElement("a"); aElement.setAttribute("href","deleteEmp?id="+nameValue); var deleteText=document.createTextNode("Delete"); aElement.appendChild(deleteText); aTd.appendChild(aElement); /******************************************************************************************************/ //创建tr var trElement=document.createElement("tr"); //添加td到tr上 trElement.appendChild(nameTd); trElement.appendChild(emailTd); trElement.appendChild(telTd); trElement.appendChild(aTd); /******************************************************************************************************/ //添加tr到table上 //<table id="usertable" border="1" cellpadding="5" cellspacing=0> //<tbody> var tableElement=document.getElementById("usertable"); //创建tbody,为了跨浏览器,要创建tbody var tbodyElement=document.createElement("tbody"); tbodyElement.appendChild(trElement); //放置tbody到table上 tableElement.appendChild(tbodyElement); /******************************************************************************************************/ //删除 aElement.onclick=function(){ //使网页的链接失效 return delTr(aElement); } /******************************************************************************************************/ } } /** * @param {Object} aElement */ function delTr(aElement){ /* * <tr> <td> Tom </td> <td>tom@tom.com</td> <td>5000</td> <td><a href="http://www.mamicode.com/deleteEmp?id=Tom">Delete</a></td> </tr> */ var name=aElement.parentNode.parentNode.firstChild.firstChild.nodeValue; //alert("name "+name) var flag=window.confirm("您真的要删除["+name+"]这个用户吗?
"); //alert(flag); // 点击"取消" 按钮 if(!flag){ //使网页的链接失效 return false; } //删除 //获取tbody var tbodyElement=aElement.parentNode.parentNode.parentNode; //获取tr var trElement=aElement.parentNode.parentNode; //删除 tbodyElement.removeChild(trElement); //使网页的链接失效 return false; } </script> <hr/> 您的爱好非常广泛!!! <br> <input type="checkbox" name="checkItems" id="checkItems" value="http://www.mamicode.com/全选/全不选"/>全选/全不选 <br> <input type="checkbox" name="items" value="http://www.mamicode.com/足球" />足球 <input type="checkbox" name="items" value="http://www.mamicode.com/篮球"/>篮球 <input type="checkbox" name="items" value="http://www.mamicode.com/游泳"/>游泳 <input type="checkbox" name="items" value="http://www.mamicode.com/唱歌"/>唱歌 <br> <input type="button" name="checkall" id="checkall" value="http://www.mamicode.com/全选" /> <input type="button" name="checkall" id="checkallNo" value="http://www.mamicode.com/全不选" /> <input type="button" name="checkall" id="check_revsern" value="http://www.mamicode.com/反选" /> <script language="JavaScript"> window.onload=function(){ //<input type="button" name="checkall" id="checkall" value="http://www.mamicode.com/全选" /> document.getElementById("checkall").onclick=function(){ var itemElements=document.getElementsByName("items"); for(var i=0;i<itemElements.length;i++){ //方法一: <input type="checkbox" name="items" value="http://www.mamicode.com/足球" />足球 //itemElements[i].setAttribute("checked","checked"); //方法二 itemElements[i].checked="checked"; } } //<input type="button" name="checkall" id="checkallNo" value="http://www.mamicode.com/全不选" /> document.getElementById("checkallNo").onclick=function(){ var itemElements=document.getElementsByName("items"); for (var i = 0; i < itemElements.length; i++) { var itemElement=itemElements[i]; //方法一,IE行,其它的不行 //itemElement.setAttribute("checked",null); //方法二: 都行 itemElement.checked=null; } } //<input type="button" name="checkall" id="check_revsern" value="http://www.mamicode.com/反选" /> document.getElementById("check_revsern").onclick=function(){ var itemElements=document.getElementsByName("items"); for (var i = 0; i < itemElements.length; i++) { var itemElement = itemElements[i]; //itemElement.checked:假设选中为true,否则false if(itemElement.checked){ itemElement.checked=null; }else{ itemElement.checked="checked"; } } } //<input type="checkbox" name="checkItems" id="checkItems" value="http://www.mamicode.com/全选/全不选"/>全选/全不选 document.getElementById("checkItems").onclick=function(){ //alert(this.checked); var itemElements=document.getElementsByName("items"); for (var i = 0; i < itemElements.length; i++) { var itemElement = itemElements[i]; if(this.checked){ itemElement.checked="checked"; }else{ itemElement.checked=null; } } } } </script> <hr/> <form method="post" name="myform"> <table border="0" width="300"> <tr> <td width="40%"> <select style="WIDTH:100%" multiple name="list1" size="12" ondblclick="moveOption(document.myform.list1, document.myform.list2)"> <option value="http://www.mamicode.com/北京">北京</option> <option value="http://www.mamicode.com/上海">上海</option> <option value="http://www.mamicode.com/山东">山东</option> <option value="http://www.mamicode.com/安徽">安徽</option> <option value="http://www.mamicode.com/重庆">重庆</option> <option value="http://www.mamicode.com/福建">福建</option> <option value="http://www.mamicode.com/甘肃">甘肃</option> <option value="http://www.mamicode.com/广东">广东</option> <option value="http://www.mamicode.com/广西">广西</option> <option value="http://www.mamicode.com/贵州">贵州</option> <option value="http://www.mamicode.com/海南">海南</option> <option value="http://www.mamicode.com/河北">河北</option> <option value="http://www.mamicode.com/黑龙江">黑龙江</option> </select> </td> <td width="20%" align="center"> <input type="button" value="http://www.mamicode.com/-->加入" onclick="moveOption(document.myform.list1, document.myform.list2)"> <br/> <input type="button" value="http://www.mamicode.com/==>全添" onclick="moveAllOption(document.myform.list1, document.myform.list2)"> <br/> <input type="button" value="http://www.mamicode.com/<--删除" onclick="moveOption(document.myform.list2, document.myform.list1)"> <br/> <input type="button" value="http://www.mamicode.com/<==全删" onclick="moveAllOption(document.myform.list2, document.myform.list1)"> </td> <td width="40%"> <select style="WIDTH:100%" multiple name="list2" size="12" ondblclick="moveOption(document.myform.list2, document.myform.list1)"> </select> </td> <td> <button onclick="changepos(document.myform.list2,-1)" type="button">上移</button> <br/> <button onclick="changepos(document.myform.list2,1)" type="button">下移</button> </td> </tr> </table> 值:<input type="text" name="city" size="40"> </form> <script language="JavaScript"> <!-- function moveOption(e1, e2){ try{ for(var i=0;i<e1.options.length;i++){ if(e1.options[i].selected){ var e = e1.options[i]; e2.options.add(new Option(e.text, e.value)); e1.remove(i); i=i-1 } } document.myform.city.value=http://www.mamicode.com/getvalue(document.myform.list2); ""; for(var i=0;i<geto.options.length;i++){ allvalue +=geto.options[i].value + ","; } return allvalue; } function changepos(obj,index){ alert(obj.selectedIndex); if(index==-1){ if (obj.selectedIndex>0){ obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex-1)) } }else if(index==1){ if (obj.selectedIndex<obj.options.length-1){ obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex+1)) ; alert(obj.selectedIndex); } } } //--> </script> <hr/> 级联菜单: <form name="m"> <select name="p" onchange="choose()"> <option value="http://www.mamicode.com/0" selected>--省份--</option> <option value="http://www.mamicode.com/1">广东</option> <option value="http://www.mamicode.com/2">山东</option> </select> <select name="city"> <option value="http://www.mamicode.com/0">--城市--</option> </select> </form> <script language="javaScript"> var dt = new Array(); // 模拟的測试数据 dt[0] = new Array(‘0‘,‘--请先选择省份--‘); var gd = new Array(); gd[0] = new Array(‘0‘,‘广州‘); gd[1] = new Array(‘1‘,‘深圳‘); gd[2] = new Array(‘2‘,‘中山‘); var sd = new Array(); sd[0] = new Array(‘0‘,‘济南‘); sd[1] = new Array(‘1‘,‘青岛‘); sd[2] = new Array(‘2‘,‘威海‘); function showCity(pe){ // 动态载入1级菜单 for (var i=0;i<pe.length;i++){ document.m.city.options[i] = new Option(pe[i][1],pe[i][0]); } } function choose(){ // 动态载入2级菜单 var tag = document.m.p.value; switch(tag){ case ‘0‘: init(); showCity(dt); break; case ‘1‘: init(); showCity(gd); break; case ‘2‘: init(); showCity(sd); break; } } function init(){ // 初始化2级菜单 var len = document.m.city.options.length; for(var i=0;i<len;i++){ document.m.city.remove(i); } } function flush(){ // 解决页面刷新,初始化1级菜单 document.m.p.options[0].selected=true ; } </script> <hr/> <p>员工信息录入</p> <form name="empForm" id="empForm" method="post" action="user.html"> <table border=1> <tr> <td>真实姓名(不能为空 ,没有其它要求)</td> <td><input type="text" id="realname" name="realname" /> </td> </tr> <tr> <td>登录名(登录名不能为空,长度应该在5-8之间,能够包括中文字符(一个汉字算一个字符)):</td> <td><input type="text" id="username" name="username" /></td> </tr> <tr> <td>password(不能为空,长度6-12字符或数字,不能包括中文字符):</td> <td><input type="password" id="psw" name="psw" style="width:120px" /></td> </tr> <tr> <td>反复passwordpassword(不能为空,长度6-12字符或数字,不能包括中文字符):</td> <td><input type="password" id="psw2" name="psw2" style="width:120px" /></td> </tr> <tr> <td>性别(必选其一)</td> <td> <input type="radio" id="gender_male" value="http://www.mamicode.com/m" name="gender"/>男 <input type="radio" id="gender_female" value="http://www.mamicode.com/f" name="gender"/>女 </td> </tr> <tr> <td>身份证(15或18为)</td> <td><input type="text" id="cart" name="cart" size=20 value="" /></td> </tr> <tr> <td></td> <td></td> <td><input type="button" name="ok" id="ok" value="http://www.mamicode.com/保存" ></td> </tr> </table> </form> </body> <script language="JavaScript"> window.onload=function(){ document.getElementById("ok").onclick=function(){ /****************************************************************************************************/ /* * <tr> <td>真实姓名(不能为空 ,没有其它要求)</td> <td><input type="text" id="realname" name="realname" /> </td> </tr> */ var realnameValue=http://www.mamicode.com/document.getElementById("realname").value; //alert("realnameValue"+ltrim(rtrim(realnameValue))+"realnameValue") if(ltrim(rtrim(realnameValue))==""||realnameValue=http://www.mamicode.com/=null||realnameValue==undefined){"真实姓名不能为空"); document.getElementById("realname").focus(); return false; } /****************************************************************************************************/ /* * <tr> <td>登录名(登录名不能为空,长度应该在5-8之间,能够包括中文字符(一个汉字算一个字符)):</td> <td><input type="text" id="username" name="username" /></td> </tr> */ var usernameValue=http://www.mamicode.com/document.getElementById("username").value; if(ltrim(rtrim(usernameValue))==""||usernameValue=http://www.mamicode.com/=null||usernameValue==undefined){"登录名不能为空"); document.getElementById("username").focus(); return false; } //验证长度在5-8之间,字符包括[字母 数字 中文] var pattern=/^[_0-9a-zA-Z\u4e00-\u9fa5]{5,8}$/; var flag=pattern.test(ltrim(rtrim(usernameValue))); if(!flag){ alert("登录名长度在5-8之间,"); document.getElementById("username").focus(); return false; } /****************************************************************************************************/ // /* // * <tr> // <td>password(不能为空,长度6-12字符或数字,不能包括中文字符):</td> // <td><input type="password" id="psw" name="psw" style="width:120px" /></td> // </tr> // */ var pswValue=http://www.mamicode.com/document.getElementById("psw").value; if(ltrim(rtrim(pswValue))==""||pswValue=http://www.mamicode.com/=null||pswValue==undefined){"password不能为空"); document.getElementById("psw").focus(); return false; } //长度6-12字符或数字,不能包括中文字符 //使用文本格式定义正則表達式,字符0-128之间 //var pattern=/^[0-9a-zA-Z]{6,12}$/; //注意 \d形式的正则,假设使用文本格式不用加转义字符.假设使用构造函数定义,则要加转义字符 //var pattern=/^[\da-zA-Z]{6,12}$/; //使用构造函数定义正則表達式,,没有字符限制 var pattern=new RegExp("^[0-9a-zA-Z]{6,12}$"); var pattern=new RegExp("^[\\da-zA-Z]{6,12}$"); var flag=pattern.test(ltrim(rtrim(pswValue))); if(!flag){ alert("长度6-12字符或数字,不能包括中文字符"); document.getElementById("psw").focus(); return false; } // ************************************************************************************************** // * <tr> // <td>反复passwordpassword(不能为空,长度6-12字符或数字,不能包括中文字符):</td> // <td><input type="password" id="psw2" name="psw2" style="width:120px" /></td> // </tr> // var psw2Value=http://www.mamicode.com/document.getElementById("psw2").value; if(pswValue!=psw2Value){ alert("两次password输入的不一致"); document.getElementById("psw2").focus(); return false; } /****************************************************************************************************/ /* * <tr> <td>性别(必选其一)</td> <td> <input type="radio" id="gender_male" value="http://www.mamicode.com/m" name="gender"/>男 <input type="radio" id="gender_female" value="http://www.mamicode.com/f" name="gender"/>女 </td> </tr> */ var flag=false; var genderElements=document.getElementsByName("gender"); for(var i=0;i<genderElements.length;i++){ if(genderElements[i].checked){ flag=true; } } if(!flag){ alert("您没有第三种性别可选"); return false; } /****************************************************************************************************/ /* * <tr> <td>身份证(15或18为)</td> <td><input type="text" id="cart" name="cart" size=20 value="" /></td> </tr> */ var cartValue=http://www.mamicode.com/document.getElementById("cart").value; if (ltrim(rtrim(cartValue)) == "" || cartValue =http://www.mamicode.com/= null || cartValue == undefined) {"身份证不能为空"); document.getElementById("cart").focus(); return false; } var len=cartValue.length; if(len!=15&&len!=18){ alert("您的身份证位数输入有误"); document.getElementById("cart").focus(); return false; } //验证15位的身份证 if(len==15){ var pattern=/^\d{15}$/; var flag=pattern.test(cartValue); if(!flag){ alert("您的15位的身份证格式输入有误"); document.getElementById("cart").focus(); return false; } } //验证18位的身份证 if(len==18){ var pattern=/^\d{18}|\d{17}[X]{1}$/; var flag=pattern.test(cartValue); if(!flag){ alert("您的18位的身份证格式输入有误"); document.getElementById("cart").focus(); return false; } } /****************************************************************************************************/ document.forms[0].submit(); } } /** * 去掉左端的空格 * ***zhu * **zhu * *zhu * zhu * */ function ltrim(str){ while(str.charAt(0)==" "){ str=str.substring(1,str.length); ltrim(str); } return str } /** * 去掉右端的空格 * zhu*** * * */ function rtrim(str){ while(str.charAt(str.length-1)==" "){ str=str.substring(0,str.length-1); rtrim(str); } return str } </script> <hr/> <hr/> <hr/> </body> </html>
JavaScript学习笔记