javascript-对表单的操作实例讲解
<form name="myform" id="form1" action="" method="post"> 姓名:<input type="text" name="names" id="names" value="zhangsan"><br/> 年龄:<input type="text" name="age" value="19"><br/> 性别:<input type="radio" name="sex" value="man">男 <input type="radio" name="sex" value="woman">女<br/> 爱好:<input type="checkbox" name="like[]" value="play">玩 <input type="checkbox" name="like[]" value="run">跑步 <input type="checkbox" name="like[]" value="study">学习<br/> 毕业院校: <select name="school"> <option> 北京大学 </option> <option> 清华大学 </option> <option> 南开大学 </option> </select> <br/> 简介:<textarea cols="60" rows="10" name="info">后盾网视频教程创始人</textarea><br/> <input type="button" value="提交"> </form>
一、获得表单引用
1>通过直接定位的方式来获取
document.getElementById();
document.getElementsByName();
document.getElementsByTagName();
//var myform=document.getElementById("form1"); //alert(myform.name); //var myform=document.getElementsByName("myform")[0]; // alert(myform.name);
2>通过集合的方式来获取引用
document.forms[下标]
document.forms["name"]
document.forms.name
//var myform=document.forms[0]; //var myform=document.forms["myform"]; //var myform=document.forms.myform; //alert(myform.name)
3>通过name直接获取“(只适用于表单)
document.name
//var myform=document.myform; //alert(myform.name);
二、获得表单元素的引用
1>直接获取
document.getElementById();
document.getElementsByName();
document.getElementsByTagName();
//直接获取 // var names=document.getElementById("names").value; // alert(names) //var names=document.getElementsByName("names")[0].value // alert(names)
2>通过集合来获取
表单对象.elements 获得表单里面所有元素的集合
表单对象.elements[下标]
表单对象.elements["name"]
表单对象.elements.name
//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; //alert(names)
3>直接通过name的形式
表单对象.name
//var age=document.myform.age.value; //alert(age); // var info=document.myform.info.value; // alert(info)
三、表单元素共同的属性和方法
1>获取表单元素的值
表单元素对象.value 获取或是设置值
// document.getElementById("fom1").names // document.forms[0].elements[0]
2>属性
disabled 获取或设置表单控件是否禁用 true false
//disabled //var names=document.myform.names.disabled =true; //var school=document.myform.school.disabled =true;
form 指向包含本元素的表单的引用
//form //var age=document.forms[0].elements.age.form //alert(age.name);
3>方法
blur()失去焦点
focus() 获得焦点
//foucs var name=document.forms.myform.elements.names.focus();
四、文本域
<input type="text" >
***********************************
操作文本域的值
value 属性 设置或者获取值
//文本域 //var names=document.forms[0].elements.names.value="lisi"; //alert(names)
***********************************
五、单选按钮
*******************************************
checked 返回或者设置单选的选中状态
true 选中 false 未选中
value 属性 获取选中的值,必须先判断选中状态。
var sex=document.myform.sex; sex[0].checked=true; for (var i=0; i<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<likes.length; i++) { if(likes[i].checked){ alert(likes[i].value); }
*******************************************
七、下拉框
************************************************
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;
************************************************
八、文本区域
***************************************
<textarea></textarea>
value 操作值
<form name="myform"> <textarea name="info" rows="7" cols="60"></textarea> </form>
var str=info.value;
***************************************
九、验证表单
1.事件
onsubmit 当表单提交的时候触发的事件
onblur
onfocus
onchange
2.return false; 阻止事件的默认行为(适用于所有事件)
<!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>javascript-对表单的操作实例讲解(上)</title> <script> 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<obj.sex.length; i++) { if(obj.sex[i].checked){ statu=1; } } if(!statu){ alert("性别不能为空"); return false; } } </script> </head> <body> <form name="myform" id="form1" action="" method="post" onsubmit=" return check(this)"> 姓名:<input type="text" name="names" id="names" ><br/> 年龄:<input type="text" name="age" ><br/> 性别:<input type="radio" name="sex" value="man">男 <input type="radio" name="sex" value="woman">女<br/> 爱好:<input type="checkbox" name="like[]" value="play">玩 <input type="checkbox" name="like[]" value="run">跑步 <input type="checkbox" name="like[]" value="study">学习<br/> 毕业院校: <select name="school"> <option> 北京大学 </option> <option> 清华大学 </option> <option> 南开大学 </option> </select> <br/> 简介:<textarea cols="60" rows="10" name="info">后盾网视频教程创始人</textarea><br/> <input type="submit" value="提交"> </form> </body> </html>
十、提交方法
表单的方法
表单对象.submit()
<script> 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) } </script>