JavaScript学习笔记——对表单的操作

时间:2022-01-17 10:29:28

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>