网页前端第八次培训(JS表单,Ajax)

一、获取表单
              

 1.document.getElementById("id属性值");


                    通过from标签的id属性值获取表单对象
 

2.docunment.表单的name属性值;


                    通过表单的name属性值获取表单对象
              

 3.document.forms[下标];


                    通过指定下标获取表单对象
              

 4.document.forms[表单的name属性值];


                    通过表单的name属性值获取表单对象
                    
                document.forms:获取HTML文档中所有的表单对象

<form id= "myform1" name="myform1" action=""></form>
		<form id= "myform2" name="myform2" action=""></form>
		<form id= "myform3" name="myform3" action=""></form>
		<script type="text/javascript">
		
		//1.document.getElementById("id属性值");
		console.log(document.getElementById("myform1"));
		//2.docunment.表单的name属性值;
		console.log(document.forms);
		//3.document.forms[下标];
		console.log(document.forms[0]);
		//4.document.forms[表单的name属性值];
		console.log(document.forms['myform2']);
		
		</script>

二、获取表单元素


                    

1.获取input元素
            

1.document.getElementById("id属性值");
              

通过元素的id属性获取表单元素对象
            

 2.表单对象.表单元素的name属性值:
              

通过表单对象中对应的元素的name属性值获取

3.document.getElementsByName("name属性值"):


    通过表单元素的内幕属性值获取
 

4.document.getElementsByTagName("标签名/元素名")


     通过标签名获取表单元素对象
 

 /*获取input元素*/
		      function getTxt(){
				   //1.document.getElementById("id属性值");
				   var uname = document.getElementById("uname").value;
				   console.log(uname);
				   // 2.表单对象.表单元素的name属性值
				   var pwd=document.getElementById("myform").upwd.value;
				   console.log(pwd)
				   //3.document.getElementsByName("name属性值"):
				   var uno=document.getElementsByName("uno")[0].value;
				   console.log(uno);
				   //4.document.getElementsByTagName("标签名/元素名");
				   var intro=document.getElementsByTagName("textarea")[0].value;
				   console.log(intro);
			  }

2.获取单选按钮
        

注:相同的一组单选按钮,需要设置相同的name属性值

1.document.getElementByName("name属性值");


            通过name属性值获取


 2.判断单选按钮是否选中


          checked选中状态
              在JS代码中
                       checkeed=true  表示选中
                        heckedfalse   表示不选中
                        在HTML标签中
                                 checked=checked或checked  表示选中
                                 不设置checked属性    表示不选中

3.获取多选按钮相同


            与单选按钮相同

 4.获取下拉选项

1.获取下拉框对象


                         var 对象 = document.getElementById("id属性值");
         

 2.获取下拉框的下拉选项列表


                      var  options = 下拉框对象.options;
       

 3.获取下拉框被选中项的索引


                      var index=下拉框对象.selectedIndex;
           

4.获取下拉框被选中项的值


                       var 值=下拉框对象.value
            

5.通过选中项的下标胡哦去下拉框被选中项的值


                        var 值=下拉框对象.options[index].value;
             

 6.胡哦去下拉框被选中项的文本


                      var 文本值= 下拉框对象.options[index].text;
                                
        注:
                1.获取下拉框选中项的值时:(value)
                   如果option标签设置了value属性值,则获取value属性对应的值
                   如果option标签未设置value属性值,则获取的是option双标签中的文本值
                2.下拉框的选中状态
                      选中状态:selected=selected、selected、selected=true
                      未被选中状态:不设置selected属性、selected=false
                                

 //获取下拉框对象
				  var ufrom=document.getElementById("ufrom");
				  console.log(ufrom);
				  //获取下拉框的下拉选项列表
				  var opts=ufrom.options;
				  console.log(opts);
				  //获取下拉框被选中项的索引
				  var index=ufrom.selectedIndex;
				  console.log("选中项的下标:"+index);
				  //获取下拉框被选中项的值
				  var val = ufrom.value;
				  console.log("被选中项的值:" +val);
				  //通过选项中项的下标获取下拉框被选中项的值

				  var val2=ufrom.options[index].value;
				  console.log("被选中项的值:"+val2);
				  //获取下拉框被选中项的文本
				  var txt=ufrom.options[index].text;
				  console.log("被选中项的值:"+txt);


三、  提交表单

一、使用普通按钮,type="button"


1.给按钮绑定click点击事件,绑定函数
2.在函数中,进行表单校验(非空校验、合法性校验等)
3.如果校验通过,则手动提交表单
    表单对象.submit();

<!--  使用普通按钮 type="button"  -->
		  <form id="myform" name="myform" action="http://www.baidu.com" method="get" >
			 姓名:<input name="uname" id="uname"/>&nbsp;
			 <span id="msg" style="font-size:12px;color:red;"></span><br/>
			 <button type ="button" onclick="submitForm1()">提交</button>
			  
		  </form>

二、使用提交按钮 type="submit"


1.给按钮绑定click点击事件,绑定函数
2.函数需要有返回值,返回true或false(如果return false,则表单不会提交;如果return true或不return,则表单提交)
          οnclick="return 函数名()"
3.在函数中,进行表单校验(非空校验、合法性校验等)
4.如果校验通过,返回true;如果校验不通过则返回false。
              

<!--  使用提交按钮 type="sumbit"  -->
		  <form id="myform2" action="http://www.baidu.com" method="get" >
		  			 姓名:<input name="uname2" id="uname2"/>&nbsp;
		  			 <span id="msg2" style="font-size:12px;color:red;"></span><br/>
		  			 <button type ="submit" onclick="return submitForm2()">提交</button>
		  			  
		  </form>

 三、使用提交按钮 type="sumbit"

1.给表单form元素绑定sumbit提交事件,绑定函数

2.函数需要有返回值,返回true或false(如果return false,则表单不会提交;如果return true或不return,则表单提交)
            οnsubmit="return 函数名()"
3.在函数中,进行表单校验(非空校验、合法性校验等)
4.如果校验通过,返回true;如果校验不通过则返回false。

 <!--  使用提交按钮 type="sumbit"  -->
		 <form id="myform3" action="http://www.baidu.com" method="get" onsubmit="return submitForm3()" >
		 			 姓名:<input name="uname3" id="uname3"/>&nbsp;
		 			 <span id="msg3" style="font-size:12px;color:red;"></span><br/>
		 			 <button type ="submit">提交</button>
		 			  
		 </form>
 <script type="text/javascript">
		     /* 表单校验   提交表单*/
			 function submitForm1(){
				 
				 //得到文本框的值
				 var uname = document.getElementById("uname").value;
				  //判断是否为空
				  if(isEmpty(uname)){  //为空
					  //设置提示信息(设置span元素的值)
					  document.getElementById("msg").innerHTML = "*姓名不能为空";
					  //阻止表单提交
					  return;
					  //手动提交表单
				  }
				   document.getElementById("myform").submit();
			 }
			 function submitForm2(){
				 //得到文本框的值
				 var uname = document.getElementById("uname2").value;
				  //判断是否为空
				  if(isEmpty(uname)){  //为空
				 					  //设置提示信息(设置span元素的值)
				 					  document.getElementById("msg2").innerHTML = "*姓名不能为空";
				 					  //阻止表单提交
				 					  return false;
				 					  //手动提交表单
				  }
				 return true;
			 }
			 function submitForm3(){
			 	//得到文本框的值
			 	var uname = document.getElementById("uname3").value;
			 	//判断是否为空
			 	if(isEmpty(uname)){  //为空
			 				 	 //设置提示信息(设置span元素的值)
			 				 	document.getElementById("msg3").innerHTML = "*姓名不能为空";
			 				 	 //阻止表单提交
			 				 	return false;
			 				 	//手动提交表单
			 				  }
			 	return true;
			 }
			 function isEmpty(str){
				 //判断是否为空
				 if(str == null || str.trim()==""){
					 return true;
				 }
				 return false;
			 }
		  
		  </script>

四、 Ajax

异步无刷新技术
               

 原生Ajax的实现流程

1.得到XMLHttpRequest对象
         var xhr = new XMLHttpRequest();
 2.打开请求
        xhr.open(method,url,async);
        method:请求方式,通常是GET|POST
        url:请求地址
         async:是否异步。如果是true表示异步,false表示同步
 3.发送请求
        xhr.send(params);
        params:请求时需要传递参数
               如果是GET请求,设置null。(GET请求设置在null后面)
               如果POST请求,无参数设置为null,有参数则设置参数

  4.接受响应


         xhr.status  响应状态(200=响应成功,404=资源未找到,500=服务器异常
         xhr.responseText 得到响应结果

<script type="text/javascript">
		/*  同步请求  */
		function test01(){
			//得到XMLHttpRequest对象
			  var xhr = new XMLHttpRequest();
			  console.log(xhr.readyState);
			  //打开请求
			  xhr.open("get","data.json",false);//同步请求
			  console.log(xhr.readyState);
			  //发送请求
			  xhr.send(null);
			  console.log(xhr.readyState);
			  //判断响应状态
			  if(xhr.status == 200){
						   console.log(xhr.responseText);
			  }else{
						   console.log("状态码:"+xhr.status+",原因:"+xhr.responseText)
			  }
			  console.log("同步请求");
		}
		//同步
		 //test01();
		 console.log("----------------------------------");
	    /*  异步请求*/
		function test02(){
			//得到XMLHttpRequest对象
			  var xhr = new XMLHttpRequest();
			  
			  //打开请求
			  xhr.open("get","data.json",true);//同步请求
			  
			  //发送请求
			  xhr.send(null);
			  
			  /*  由于是异步请求,所需要知道后台自己已经请求处理完毕,才能获取响应结果
			      通过监听 readyState 的变化来得知后面的处理状态  4=完成处理    
			      xhr.onreadystatechange = function()
			  */
			 xhr.onreadystatechange = function(){
				 //当readyState)的值为4时,表示结果成功响应
				 if(xhr.readyState == 4) {
					 if(xhr.status == 200){
					 						   console.log(xhr.responseText);
					 }else{
					 						   console.log("状态码:"+xhr.status+",原因:"+xhr.responseText)
					 }
				 }
			 }
			  //判断响应状态
			  
			  
			  console.log("异步请求");
		}
		 //异步
		 test02();
		</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值