JavaScript学习笔记

JavaScript学习笔记,可直接另存为html

<!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>[email protected]</td>
						<td>5000</td>
						<td><a href="#">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=document.getElementById("name").value;
	var emailValue=document.getElementById("email").value;
	var telValue=document.getElementById("tel").value;
/******************************************************************************************************/
   //创建td
   /*
    * <tr>
						<td>Tom</td>
						<td>[email protected]</td>
						<td>5000</td>
						<td><a href="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>[email protected]</td>
						<td>5000</td>
						<td><a href="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="全选/全不选"/>全选/全不选
	 <br>
        <input type="checkbox" name="items" value="足球" />足球
		<input type="checkbox" name="items" value="篮球"/>篮球
		<input type="checkbox" name="items" value="游泳"/>游泳
		<input type="checkbox" name="items" value="唱歌"/>唱歌
		<br>
		<input type="button" name="checkall" id="checkall" value="全选" />
		<input type="button" name="checkall" id="checkallNo" value="全不选" />
		<input type="button" name="checkall" id="check_revsern" value="反选" />
		 <script language="JavaScript">
    window.onload=function(){
	  //<input type="button" name="checkall" id="checkall" value="全选" />
	  document.getElementById("checkall").onclick=function(){
	  	 var itemElements=document.getElementsByName("items");
         for(var i=0;i<itemElements.length;i++){
		 	//方法一:   <input type="checkbox" name="items" value="足球" />足球
			//itemElements[i].setAttribute("checked","checked");
			
			//方法二
			itemElements[i].checked="checked";
		 }
	  }
	  
	  //<input type="button" name="checkall" id="checkallNo" value="全不选" />
	   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="反选" />
	  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="全选/全不选"/>全选/全不选
	    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="北京">北京</option>  
<option value="上海">上海</option>  
<option value="山东">山东</option>  
<option value="安徽">安徽</option>  
<option value="重庆">重庆</option>  
<option value="福建">福建</option>  
<option value="甘肃">甘肃</option>  
<option value="广东">广东</option>  
<option value="广西">广西</option>  
<option value="贵州">贵州</option>  
<option value="海南">海南</option>  
<option value="河北">河北</option>  
<option value="黑龙江">黑龙江</option>  
</select>  
</td>  
<td width="20%" align="center">  
<input type="button" value="-->添加" onclick="moveOption(document.myform.list1, document.myform.list2)">
<br/>  
<input type="button" value="==>全添" onclick="moveAllOption(document.myform.list1, document.myform.list2)">
<br/>  
<input type="button" value="<--删除" onclick="moveOption(document.myform.list2, document.myform.list1)">  
<br/>  
<input type="button" value="<==全删" 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=getvalue(document.myform.list2);  
    }  
    catch(e){}  
}  
function moveAllOption(e1, e2){  
    try{  
        for(var i=0;i<e1.options.length;i++){  
                var e = e1.options[i];  
                e2.options.add(new Option(e.text, e.value));  
                e1.remove(i);  
                i=i-1   
        }  
    document.myform.city.value=getvalue(document.myform.list2);  
    }  
    catch(e){}  
}  
function getvalue(geto){  
    var allvalue = "";  
    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="0" selected>--省份--</option>
               <option value="1">广东</option>
               <option value="2">山东</option>
           </select>

           <select name="city">
               <option value="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>密码(不能为空,长度6-12字符或数字,不能包含中文字符):</td>
		      <td><input type="password" id="psw"  name="psw" style="width:120px" /></td>
		    </tr>
		    <tr> 
		      <td>重复密码密码(不能为空,长度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="m" name="gender"/>男
				    <input  type="radio" id="gender_female" value="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="保存" ></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=document.getElementById("realname").value;
	 //alert("realnameValue"+ltrim(rtrim(realnameValue))+"realnameValue")
	 if(ltrim(rtrim(realnameValue))==""||realnameValue==null||realnameValue==undefined){
	 	alert("真实姓名不能为空");
		document.getElementById("realname").focus();
		return false;
	 }
   /****************************************************************************************************/	
     /*
      * <tr>
			<td>登录名(登录名不能为空,长度应该在5-8之间,可以包含中文字符(一个汉字算一个字符)):</td>
			<td><input type="text" id="username" name="username" /></td>
		</tr>
      */
	  var usernameValue=document.getElementById("username").value;
	  if(ltrim(rtrim(usernameValue))==""||usernameValue==null||usernameValue==undefined){
	  	alert("登录名不能为空");
		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>密码(不能为空,长度6-12字符或数字,不能包含中文字符):</td>
//		      <td><input type="password" id="psw"  name="psw" style="width:120px" /></td>
//		    </tr>
//    */
	var pswValue=document.getElementById("psw").value;	
    if(ltrim(rtrim(pswValue))==""||pswValue==null||pswValue==undefined){
	  	alert("密码不能为空");
		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>重复密码密码(不能为空,长度6-12字符或数字,不能包含中文字符):</td>
//		      <td><input type="password" id="psw2" name="psw2" style="width:120px" /></td>
//		    </tr>
//    
   var psw2Value=document.getElementById("psw2").value;
   if(pswValue!=psw2Value){
   	    alert("两次密码输入的不一致");
		document.getElementById("psw2").focus();
		return false;	
   }
 /****************************************************************************************************/		
 /*
  *  <tr>
				<td>性别(必选其一)</td>
				<td>
				    <input  type="radio" id="gender_male" value="m" name="gender"/>男
				    <input  type="radio" id="gender_female" value="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=document.getElementById("cart").value;
   if (ltrim(rtrim(cartValue)) == "" || cartValue == null || cartValue == undefined) {
       alert("身份证不能为空");
	   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,学习笔记)