zoukankan      html  css  js  c++  java
  • jquery获取表单元素与回显

    一、获取哦表单元素

    dcoument表单文本对象的集合

    all[] 对所有html元素的访问

    forms 返回对文档中所有form对象的引用

    forms[1] 对所有form对象引用

    
    	<script type="text/javascript">
    		 function fun(){
    			document.all[11].innerHTML = "你好" ;
    
    			document.forms[1].username.value = "张无忌" ;
    
    			document.images[2].src = "images/1.jpg" ;
    		 }
    	</script>
     <body onload = "fun()">
         <P></p>
    	 <form method="post" action="">
    		  姓名1:<input type="text" name="">
    	 </form>
    	 <form method="post" action="">
    		  姓名2:<input type="text" name="username">
    	 </form>
    	 <form method="post" action="">
    		  姓名3:<input type="text" name="">
    	 </form>
    
    	 <img src = "" alt = "aa"><img src = "" alt = "bb"><img src = "" alt = "cc">
     </body>
    

      通过集合来访问相应的对象
         1.通过下标的形式
         2.通过name形式

    
    下标
    alert(document.forms[1].name)
    name属性
    alert(document.forms["myform1"].text1.value)
    
    <form name="myform">
    <code>&lt;form name="tt"&gt;&lt;/form&gt;
    function checkform(id)
    {
       var formlist = document.getElementById(id).childNodes;
       for(var i=0;i&lt;formlist.length;i++)
        {
         alert(formlist[i].type)
         alert(formlist[i].value)
        }
    }
    

    2.element获取所有表单元素

    表单对象.elements  获得表单里面所有元素的集合
    表单对象.elements[下标]
    表单对象.elements["name"]
    表单对象.elements.name

    
    window.onload=function(){
      var form=document.myform
      var element=form.elements
    }
    &lt;body&gt;
    &lt;form name="myform"&gt;
      &lt;input type="text" name="username" value="baidu.com"&gt;&lt;br&gt;
      &lt;input type="text" name="address" value="青岛"&gt;&lt;br&gt;
      &lt;select name="kecheng"&gt;
        &lt;option value="css" selected=""&gt;css&lt;/option&gt;
        &lt;option value="div"&gt;div&lt;/option&gt;
      &lt;/select&gt;
    &lt;/form&gt;
    &lt;input type="button" value="查看效果"/&gt;
    &lt;/body&gt;
    

    
    var eles=document.myform.elements.length;
    alert(eles)
    
    var names=document.myform.elements[0].value;
    var names=document.myform.elements["names"].value;
    var names=document.myform.elements.names.value;
    

    3.forms[1] 对所有form对象引用

    
    	&lt;script type="text/javascript"&gt;
    		 function fun(){
    			document.all[11].innerHTML = "你好" ;
    
    			document.forms[1].username.value = "张无忌" ;
    
    			document.images[2].src = "images/1.jpg" ;
    		 }
    	&lt;/script&gt;
     &lt;body onload = "fun()"&gt;
         &lt;P&gt;&lt;/p&gt;
    	 &lt;form method="post" action=""&gt;
    		  姓名1:&lt;input type="text" name=""&gt;
    	 &lt;/form&gt;
    	 &lt;form method="post" action=""&gt;
    		  姓名2:&lt;input type="text" name="username"&gt;
    	 &lt;/form&gt;
    	 &lt;form method="post" action=""&gt;
    		  姓名3:&lt;input type="text" name=""&gt;
    	 &lt;/form&gt;
    
    	 &lt;img src = "" alt = "aa"&gt;&lt;img src = "" alt = "bb"&gt;&lt;img src = "" alt = "cc"&gt;
     &lt;/body&gt;
    

    取出窗体中的所有表单的数量:document.forms.length

    二、获取表单中的标签元素

    1.文本域 : 操作文本域的值 value 属性,设置或者获取值

    
     var names=document.forms[0].elements.names.value="lisi";
    alert(names)
    

    文本域回显

    
     &lt;p style="margin-top: -22px; padding-left: 40px;"&gt;&lt;input type="text" name="matainReasonRemark" class="long"/&gt;&lt;/p&gt;
    
    	$.ajax({
         type : "POST",
         url : uxl,
         data : param,
         success : function(list) {
                var matainReasonRemark= obj.data.MATAIN_REASON_REAMRK;
                $("input[name='matainReasonRemark']").val(matainReasonRemark);
         	});
         },
         error : function(data) {
              
         },
     });
    

    三、表单校验

    1.onsubmit  当表单提交的时候触发的事件
    2.onblur
    3.onfocus
    4.onchange

    非空

    
    &lt;script&gt;
      function check (obj) {
        if(obj.names.value==""){
    	  alert("姓名不能为空");
    	  return false;
    	}
    	if(obj.age.value==""){
    	 alert("年龄不能为空");
    	  return false;
    	 }
         var statu=0;
    	 for (var i=0; i&lt;obj.sex.length; i++) {
    	  if(obj.sex[i].checked){
    	    statu=1;
    	  }
    	 }
    	 if(!statu){
    	   alert("性别不能为空");
    	   return false; //阻止事件的默认行为(适用于所有事件)
    	 }
      }
    &lt;/script&gt;
    
    &lt;form name="myform" action="" method="post" onsubmit=" return check(this)"&gt;
       性别:&lt;input type="radio" name="sex" value="man"&gt;男 &lt;input type="radio" name="sex" value="woman"&gt;女&lt;br/&gt;
    &lt;/form&gt;
    

    四、表单提交

    
    &lt;script&gt;
      window.onload=function  () {
        var subs=document.myform.subs;
    	 subs.onclick=function  () {
    	  document.myform.action="1.html";
          document.myform.submit();
    	}
    
    	setTimeout(function  () {
    	   document.myform.action="2.html";
          document.myform.submit();
    	},4000)
      }
    &lt;/script&gt;
    
    &lt;form name="myform" action="" method="post"&gt;
    &lt;input type="text" name="names"&gt;
    &lt;input type="button" value="提交" name="subs"&gt;
    &lt;/form&gt;
    


    二、表单回显

    innerhtml的值是表单元素的值:如how are you,则innerhtml的值就是:how are you

    innertext的值和上面的一样,只不过不会把em这种标记显示出来.  

    获取div的内容使用$('#example').html()

    或者要文本可以使用$('#example').text()
    要获取input的值可以使用$('#example').val()

    一、html()

    用为读取和修改元素的HTML标签    对应js中的innerHTML

    html()是用来读取元素的HTML内容(包括其Html标签),.html()方法使用在多个元素上时,只读取第一个元素

    
    &lt;p&gt;
        &lt;strong&gt;Hi!&lt;/strong&gt;
    &lt;/p&gt;
    
    ---------------------
    
    $('p').html();//返回p元素的全部内容,包括内容里的标签,返回:&lt;strong&gt;Hi!&lt;/strong&gt;
    
    ---------------------
    
    
    
    $('td[aria="View_CHECK_NAME"]').each(function(){
    	if($(this).html()=="yes"){
    		$(this).attr("style","color:red; text-align:center;cursor:pointer");
    	}
    })
    

    二、text()

    用来读取或修改元素的纯文本内容  对应js中的innerText

    text()用来读取元素的纯文本内容,包括其后代元素;.text()方法不能使用在表单元素上

    
    &lt;p&gt;
        &lt;strong&gt;Hi!&lt;/strong&gt;
    &lt;/p&gt;
    
    ---------------------
    $('p').text();/*返回p元素的文本内容,不包括内容里的标签,只返回:Hi! */
    
    ---------------------
    
    

    text()和html()的区别 :

    (1)text()只能返回文本内容,而html()可以返回元素的全部内容 (2)text(str)设置元素内容时,只有文本内容有效,其余内容无效;而html(str)设置元素内容时,所有内容有效(包括标签) (3)text()返回所有匹配元素的内容,叠加;而html()只返回第一个匹配元素的内容

    
    &lt;p&gt;Hi!&lt;/p&gt;&lt;p&gt;Hello!&lt;/p&gt;
    
    ---------------------
    
    $('p').text();//返回内容为所有p元素的内容叠加:Hi!Hello!
    
    ---------------------
    
    $('p').html();//返回内容为第一个p元素的内容:Hi!
    
    ---------------------
    
    

    三、val();

    用来读取或修改表单元素的value值,如button,text,hidden

    val()是用来读取表单元素的"value"值,.val()只能使用在表单元素上

    val是属性,只有有该属性的对象才能调用

    
    &lt;input type='text' value='xxx'/&gt; 这个就需要用 val()。
    

    关于三者的区别

       1. .val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的"value"值,但是.text()和他们不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容。

    
    $('p').html();               //返回p元素的html内容
    $("p").html("Hello &lt;b&gt;nick&lt;/b&gt;!");  //设置p元素的html内容
    $('p').text();               //返回p元素的文本内容
    $("p").text("nick");           //设置p元素的文本内容
    $("input").val();             //获取文本框中的值
    $("input").val("nick");          //设置文本框中的内容
    

        2 .html(),.text(),.val()都可以使用回调函数的返回值来动态的改变多个元素的内容。

    
    
       &lt;script type="text/javascript"&gt;
           $(document).ready(function(){
               $("#btn1").click(function(){
                  $(".aa").text(function(i,oriText){
                  	alert("原文本:"+oriText+"新文本:hello world! index("+i+")");
                  });
               });
           });
     
     
       &lt;/script&gt;
      &lt;/head&gt;
      &lt;body&gt;
         &lt;button>
    <code>var sex=document.myform.sex;
    	      sex[0].checked=true;
    	     for (var i=0; i&lt;sex.length; i++) {
    		   if(sex[i].checked){
    		     alert(sex[i].value)
    		   }
    	     }
    

    多选按钮 : checked  返回或者设置单选的选中状态true 选中,false 未选中。value 属性 获取选中的值,必须先判断选中状态。

    
    var likes=document.forms.myform["like[]"];
    	    likes[2].checked=true;
    	  for (var i=0; i&lt;likes.length; i++) {
    	     if(likes[i].checked){
    		   alert(likes[i].value);
    		 }
    	  }
    

    多选按钮数据回显

    
    &lt;p&gt;
    &lt;label&gt;&lt;input type="checkbox" name="matainReason" value="1"/&gt;1、无关闭&lt;/label&gt;
    &lt;label&gt;&lt;input type="checkbox" name="matainReason" value="2"/&gt;2、升高&lt;/label&gt;
    &lt;label&gt;&lt;input type="checkbox" name="matainReason" value="3"/&gt;3、降低&lt;/label&gt;
    &lt;label&gt;&lt;input type="checkbox" name="matainReason" value="4"/&gt;4、压力低&lt;/label&gt;
    &lt;label&gt;&lt;input type="checkbox" name="matainReason" value="5"/&gt;5、压力不稳&lt;/label&gt;
    &lt;label&gt;&lt;input type="checkbox" name="matainReason" value="6"/&gt;6、漏气&lt;/label&gt;
    &lt;label&gt;&lt;input type="checkbox" name="matainReason" value="7"/&gt;7、定期&lt;/label&gt;
    &lt;/p&gt;
    
    
    $.ajax({
         type : "POST",
         url : uxl,
         data : param,
         success : function(list) {
         	$.each(list,function(index,obj){
         		var matainReason = obj.data.MATAIN_REASON;
         		var matainReasonArr = matainReason.split(",");
         		var matainReasonBox = $("input[name='matainReason']");
                for(var i=0;i&lt;matainReasonArr.length;i++){
                $.each(matainReasonBox,function(j,checkbox){
                var checkValue=$(checkbox).val();
                if(matainReasonArr[i]==checkValue){
                	 $(checkbox).attr("checked",true);
                	}
                })
                }
                
         	});
         },
         error : function(data) {
              
         },
     });
    

    多选框数据回显

    
                    	  &lt;tr style="height: 200px"&gt;
                    	  &lt;td style=" 180px" colspan="9"&gt;
                    	  &lt;label style="font-size:15px;"&gt;培训内容:&lt;/label&gt;&lt;br /&gt;
                          &lt;input type="checkbox" name="trainContent" value="1"  style=" 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;灶具零部件的使用方式方法&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
                          &lt;input type="checkbox" name="trainContent" value="2"  style=" 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;胶管、减压器、卡箍更换周期&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
                          &lt;input type="checkbox" name="trainContent" value="3"  style=" 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;钢瓶使用安全注意事项&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
                          &lt;input type="checkbox" name="trainContent" value="4"  style=" 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;其他&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
                          &lt;/td&gt;
                        &lt;/tr&gt;
    
    
    		          var boxObj = $("input:checkbox[name='trainContent']");  //获取所有的复选框
    		            var expresslist = data.data.trainContent; //用el表达式获取在控制层存放的复选框的值为字符串类型
    		            if(null!=expresslist){
    		        	var express = expresslist.split(','); //去掉它们之间的分割符“,” 
    		        	    for(i=0;i&lt;boxObj.length;i++){
    		        		       for(j=0;j&lt;express.length;j++){            
    		        			           if(boxObj[i].value == express[j])  //如果值与修改前的值相等
    		        			           {
    		        				               boxObj[i].checked= true;
    		        				               break;
    		        				           }
    		        		       }
    		        		    } 
    		        }
    
    
    
                  	  &lt;tr style="height: 200px"&gt;
                    	  &lt;td style=" 180px" colspan="9"&gt;
                    	  &lt;label style="font-size:15px;"&gt;培训内容:&lt;/label&gt;&lt;br /&gt;
                          &lt;input type="checkbox" name="trainContent" value="1"  style=" 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;灶具零部件的使用方式方法&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
                          &lt;input type="checkbox" name="trainContent" value="2"  style=" 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;胶管、减压器、卡箍更换周期&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
                          &lt;input type="checkbox" name="trainContent" value="3"  style=" 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;钢瓶使用安全注意事项&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
                          &lt;input type="checkbox" name="trainContent" value="4"  style=" 20px;height: 20px;padding: 6px 6px 6px 6px"/&gt;&lt;label style="font-size:15px;padding: 6px 6px 6px 6px";"&gt;其他&lt;/label&gt;&lt;br /&gt;&lt;br /&gt;
                          &lt;/td&gt;
    
    
    
    
    

    selected  设置或返回下拉框的选中状态,true 选中,false 未选中。selectedIndex  设置或返回下拉框被选中的索引号

    
     var school=document.myform.school;
     var school=document.myform.school.options;
     alert(school.length)
     //selected设置选中状态
     school[1].selected=true;
     //selectedIndex设置选中状态
     school.selectedIndex=2;
    
    
    &lt;form name="form1"&gt;
    文本框 :&lt;input type="text" value="txt" /&gt;
    &lt;br /&gt;
    单选按钮:&lt;input type="radio" value="男" name="sex" /&gt;男    &lt;input type="radio" value="女" name="sex"  checked="checked"/&gt;女
    &lt;br /&gt;
    复选框:&lt;input type="checkbox" value="1"  name="check[]"/&gt;1&lt;input type="checkbox" value="2" checked="checked"  name="check[]" /&gt;2&lt;input type="checkbox" value="3" checked="checked"  name="check[]" /&gt;3
    &lt;br /&gt;   
    下拉框:
    &lt;select style=" 100px"&gt;
    &lt;option value="yi"&gt;1&lt;/option&gt;
    &lt;option value="er" selected="selected"&gt;2&lt;/option&gt;
    &lt;option value="san"&gt;3&lt;/option&gt;
    &lt;/select&gt;
    &lt;br /&gt;
    &lt;input type="button" value="获取"  onclick="getVal()"/&gt;
    &lt;/form&gt;
    
    
    &lt;script type="text/javascript"&gt;
     
    function getVal(){
        var str="";
        //获取单选按钮的值
        var radios = document.form1.sex;
        var n = radios.length;
        for (var i = 0; i &lt; n; i++) {
            if (radios[i].checked) {
                str = " 单选 "+radios[i].value;
            }
        }
            //还有获取单选框的值有三种方式:
            $('input:radio:checked').val();
            $("input[type='radio']:checked").val();
            $("input[name='sex']:checked").val();
     
        //获取复选框中选中的值的组合 1,2,3,4
        var checkboxs = document.getElementsByName('check[]');
        var n = checkboxs.length;
        for (var i = 0; i &lt; n; i++) {
            if (checkboxs[i].checked) {
                str += " 复选框 "+checkboxs[i].value;
            }
        }
        //获取下拉列表的选中项的值
        //方法一:
        str += " 列表 一:"+document.getElementById("sel").value;
     
        //方法二:
        var sel = document.getElementById("sel");
        str += " 列表 二:"+sel.options[sel.selectedIndex].value;
        alert(str);
     
    }
    &lt;/script&gt;
    

    全选反选

    
    	&lt;script type="text/javascript"&gt;
    		function checkAll(flag){
    			//拿到所有的多选框
    			var hobbys = document.getElementsByName("hobby") ;
    			//循环赋值
    			for(var i =0 ;i&lt;hobbys.length ;i++){
    				hobbys[i].checked = flag ;
    			}
    		}
    
    		function reverseCheck(){
    			//拿到所有的多选框
    			var hobbys = document.getElementsByName("hobby") ;
    			//循环赋值
    			for(var i =0 ;i&lt;hobbys.length ;i++){
    				hobbys[i].checked = !hobbys[i].checked ;
    			}
    		}
    	&lt;/script&gt;
     &lt;body&gt;
       &lt;h1&gt;请选择你的爱好:&lt;/h1&gt;
      全选/全不选&lt;input type="checkbox" name="hobbys" onclick="checkAll(this.checked)" /&gt;&lt;br/&gt;
     &lt;input type="checkbox" name="hobby" value="football"/&gt;足球
     &lt;input type="checkbox" name="hobby" value="basketball" /&gt;篮球
     &lt;input type="checkbox" name="hobby" value="swim" /&gt;游泳
     &lt;input type="checkbox" name="hobby" value="singing"/&gt;唱歌&lt;br/&gt;
    
     &lt;input type="button" value="全选" onclick="checkAll(true)"/&gt; &lt;input type="button" value="全不选" onclick="checkAll(false)"/&gt;
     &lt;input type="button" value="反选" onclick="reverseCheck()"/&gt; &lt;/body&gt;
    

    全选全不选

    
    全选&lt;input type='radio' name='radios'&gt;
    全不选&lt;input type='radio' name='radios'&gt;
    反选&lt;input type='radio' name='radios'&gt;
    //全选
    window.onload=function  () {
      var nums=document.getElementsByName("nums");
      var radios=document.getElementsByName("radios");
    
      for (var i=0; i&lt;radios.length; i++) {
         (function  (a) {
    	     radios[a].onclick=function  () {
    		   if(a==0){
    		     for (var i=0; i&lt;nums.length; i++) {
    			    nums[i].checked=true;
    		     }
    			   }
    	     }
         })(i)
    }
    
    radios[0].onclick=function  () {
       for (var i=0; i&lt;nums.length; i++) {
          nums[i].checked=true;
       }
    }
    
    //全不选
    radios[1].onclick=function  () {
      for (var i=0; i&lt;nums.length; i++) {
           nums[i].checked=false;
       }
    }
    
    //反选
    radios[2].onclick=function  () {
     for (var i=0; i&lt;nums.length; i++) {
         if(nums[i].checked){
          nums[i].checked=false;
       }else{
    	    nums[i].checked=true;
    	   }
       }
    }
    }
    
    function fun (a,b,c) {
      c[b].onclick=function  () {
        if(b==0){
         for (var i=0; i&lt;a.length; i++) {
    	 a[i].checked=true;
       }
      }
    	  if(b==1){
         for (var i=0; i&lt;a.length; i++) {
    	 a[i].checked=false;
       }
      }
        if(b==2){
          for (var i=0; i&lt;a.length; i++) {
    	 if(a[i].checked){
       a[i].checked=false;
    	 }else{
    	   a[i].checked=true;
     }
       }
    }
     }
     }
    

    通过this实现全选全不选

    
     	&lt;ul style="display:block;"&gt;				
    			&lt;li class="parent expanded"&gt;&lt;span&gt;&lt;input type="checkbox" checked="checked"/&gt;&lt;/span&gt;&lt;b&gt;&lt;img src="${ctx}/static/images/icon_fold_f.png"/&gt;&lt;/b&gt;
    				&lt;a href="javascript:;"&gt;网址&lt;/a&gt; 
    				&lt;ul class="Item" style="display:block"&gt;	
    				&lt;/ul&gt;
    			&lt;/li&gt;
    
    
    	$("#all").change(function() {
    		if ($(this).attr("checked")) {
    			$(".Item").each(function() {
    				$(this).attr("checked", true);
    			});
    		} else {
    			$(".Item").each(function() {
    				$(this).attr("checked", false);
    			});
    					}
    	})
    
    来源:
  • 相关阅读:
    17 正在表达式
    16 css实现模糊背景
    15 VScode 使用相关
    14 CSS题目附答案
    13 form表单
    12 postgresql数据库备份和恢复
    11 vs2015 连接oracle 11g 数据库及相关问题
    10 windows server 2012R2 发布MVC框架网站注意事项
    9 ArcGIS Server 性能优化
    Project Euler P4 Largest palindrome product 题解
  • 原文地址:https://www.cnblogs.com/qixidi/p/10186137.html
Copyright © 2011-2022 走看看