纯JS回显form各种表单数据

来源:互联网 发布:许朝军 知乎 编辑:程序博客网 时间:2024/05/21 17:27

获取和设定表单数据有各种方法,比如借助DWR,jQuery等JS库或者框架等。

下面通过原生的JS代码来实现。

[html] view plain copy
  1. <html>  
  2. <head>  
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
  4. <title>表单数据的回显</title>  
  5. <script type="text/javascript">  
  6. function show(){  
  7.     //姓名  
  8.     var name=document.getElementById("name").value;  
  9.     document.getElementById("name2").value=name;  
  10.     //性别  
  11.     var genders=document.getElementsByName("gender");  
  12.     //var genders=document.testform.gender;//这样取值也可以  
  13.     var checkedgender;  
  14.     for(var i=0;i<genders.length;i++){  
  15.         if(genders[i].checked){  
  16.             checkedgender=genders[i].value;  
  17.             break;  
  18.         }  
  19.     }  
  20.     var genders2=document.getElementsByName("gender2");  
  21.     for(var i=0;i<genders2.length;i++){  
  22.         if(checkedgender==genders2[i].value){  
  23.             genders2[i].checked=true;  
  24.             break;  
  25.         }  
  26.     }  
  27.     //学历  
  28.     var xue=document.getElementById("select").options;  
  29.     var checkedxue;  
  30.     for(var i=0;i<xue.length;i++){  
  31.         if(xue[i].selected){  
  32.             checkedxue=xue[i].value;  
  33.             break;  
  34.         }  
  35.     }  
  36.     var xue2=document.getElementById("select2").options;  
  37.     for(var i=0;i<xue2.length;i++){  
  38.         if(checkedxue==xue2[i].value){  
  39.             xue2[i].selected=true;  
  40.             break;  
  41.         }  
  42.     }  
  43.     //技能  
  44.     var its=document.getElementsByName("it");  
  45.     var checkedit=new Array();  
  46.     for(var i=0;i<its.length;i++){  
  47.         if(its[i].checked){  
  48.             checkedit.push(its[i].value);  
  49.         }  
  50.     }  
  51.     var its2=document.getElementsByName("it2");  
  52.     for(var i=0;i<its2.length;i++){  
  53.         if(checkedit.length==0){  
  54.             its2[i].checked=false;  
  55.         }else{  
  56.             for(var j=0;j<checkedit.length;j++){  
  57.                 if(checkedit[j]==its2[i].value){  
  58.                     its2[i].checked=true;  
  59.                     break;  
  60.                 }else{  
  61.                     its2[i].checked=false;//必须设为false,否则重新选择后,还会处于选中状态  
  62.                 }  
  63.             }  
  64.         }  
  65.     }  
  66.     //自我介绍  
  67.     var text=document.getElementById("intro").value;  
  68.     document.getElementById("intro2").value=text;  
  69. }  
  70.   
  71. </script>  
  72. </head>  
  73. <body>  
  74.   
  75. <form name="testform">  
  76. 姓名:<input type="text" name="name" id="name" value="hello"/><br/>  
  77. 性别:<input type="radio" name="gender" value="man" checked/>男  
  78.     <input type="radio" name="gender" value="woman"/>女  
  79.     <input type="radio" name="gender" value="secret"/>保密<br/>  
  80. 学历:<select id="select">  
  81.         <option value="college">专科</option>  
  82.         <option value="bachelor" selected>本科</option>  
  83.         <option value="master">硕士</option>  
  84.         <option value="doctor">博士</option>  
  85.    </select><br/>  
  86. 技能:<input type="checkbox" name="it" value="java"/>java  
  87. <input type="checkbox" name="it" value="c" checked/>C  
  88. <input type="checkbox" name="it" value="php"/>php  
  89. <input type="checkbox" name="it" value="linux" checked/>linux  
  90. <br/>  
  91. 自我介绍:<br/>  
  92. <textarea rows="4" cols="20" id="intro">  
  93. hi,大家好  
  94. </textarea>  
  95. <br/>  
  96. <input type="reset" value="重置"/>  
  97. <input type="button" value="数据回显" onclick="show()"/>  
  98. </form>  
  99.   
  100. <hr>  
  101. 姓名:<input type="text" name="name" id="name2" /><br/>  
  102. 性别:<input type="radio" name="gender2" value="man"/>男  
  103.     <input type="radio" name="gender2" value="woman"/>女  
  104.     <input type="radio" name="gender2" value="secret"/>保密<br/>  
  105. 学历:<select id="select2">  
  106.         <option value="college">专科</option>  
  107.         <option value="bachelor">本科</option>  
  108.         <option value="master">硕士</option>  
  109.         <option value="doctor">博士</option>  
  110.    </select><br/>  
  111. 技能:<input type="checkbox" name="it2" value="java"/>java  
  112. <input type="checkbox" name="it2" value="c"/>C  
  113. <input type="checkbox" name="it2" value="php"/>php  
  114. <input type="checkbox" name="it2" value="linux"/>linux  
  115. <br/>  
  116. 自我介绍:<br/>  
  117. <textarea rows="4" cols="20" id="intro2"></textarea>  
  118. <br/>  
  119. </body>  
  120. </html>  

效果图如下:


注意点:除下拉选择框选中用 selected 属性判断外,单选框,复选框都是用 checked 进行判断的。复选框取值时用到了Array对象的push方法。

经测试,IE,firefox,chrome下均通过。

0 0
原创粉丝点击