第07章-表单操作_第1页
第07章-表单操作_第2页
第07章-表单操作_第3页
第07章-表单操作_第4页
第07章-表单操作_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章表单操作回顾顶级对象模型Window对象Screen对象History对象Location对象Document对象目标表单操作表单元素操作表单验证获得form对象使用最初的DOM语法,可通过文档包含的表单数组索引或名字(如果在<form>标记的name属性中分配了一个标识符)来引用form对象。如果在文档中只有一个表单,那么它也是一个数组(一个元素的数组)的成员,其引用语法如下:使用元素名字符串作为数组索引的语法格式如下:document.forms[0]

document.forms["formName"]

访问表单属性表单完全由网页中的标准HTML标记语言创建,用户可设置name,target,action,method和enctype属性。这些都是form对象的属性,访问它们的语法格式如下:要改变属性,只需简单地赋给它新值即可:document.forms[0].action="";

document.forms[0].actiondocument.forms["formName"].action

form.elements属性除了跟踪表单中每一类的元素外,浏览器还保留一个表单中所有控件元素的列表。这个列表是另一个数组,其列表项根据HTML标记语言在源代码中的顺序而定。下面的代码在for循环中使用form.elements[]属性查看表单中的所有元素,并将文本框的内容清空。varform=document.forms[0];for(vari=0;i<form.elements.length;i++){ if(form.elements[i].type=="text"){ form.elements[i].value=""; }}

表单元素类型类型说明类型说明text文本框button按钮image图片radio单选按钮checkbox复选框textarea文本域file上传控件reset重置按钮submit提交按钮hidden隐藏域select-one单选下拉框select-multiple多选列表表单方法表单常用的方法有两个,一个是reset()方法,用于对表单元素进行重置操作,其作用等同于点击了表单内的重置按钮;另一个是submit()方法,该方法较为常用,通常用于以代码的形式执行提交表单的操作。<formaction="nina.html"> <inputtype="button"value="普通按钮也能实现提交操作"onclick="doSubmit()"/></form><script> functiondoSubmit(){ document.forms[0].submit(); }</script>

表单元素通用属性disableddisabled属性是指禁用某个控件,使其不可用,用户不能用鼠标对其进行操作,该控件也不能获得焦点。readOnlyreadOnly属性主要是针对文本框和文本域,如果文本框被设置为readOnly即只读。displaydisplay属性是元素样式style属性的一个子属性,通过对style属性中display属性的控制,达到显示和隐藏的一个效果。文本框文本框在页面中用于接收用户的输入,下面介绍文本框的常用操作。通过value属性获得或设置文本框的内容:通过文本框的focus()方法可以让文本框获得焦点,而其他大部分表单元素也依然可以通过此方法来使自身获得焦点:通过文本框的select()方法可以让文本框中的内容选中:varval=document.getElementById("username").value;

document.getElementById("username").focus();document.getElementById("username").select();复选框在图形用户界面中,复选框可以在选中与未选中之间切换。如果两个或更多的复选框在物理上组合在一起,它们没有相互作用:每一个都是独立设置的。checked:表示(或者设置)复选框是否选中。为使脚本能勾选复选框,只需要将复选框的checked属性设置为true即可:下列代码实现全选效果:document.getElementById("isRead").checked=true;functionselectAll(chk){varchkList=document.getElementsByName("stuId"); for(vari=0;i<chkList.length;i++){ chkList[i].checked=chk.checked; }}单选按钮JavaScript数组语法能访问单选按钮组中某个单选按钮的信息。看看下面这个示例:这个单选按钮组显示在网页中后,第一个单选按钮已经被预先选中了,要访问任何单选按钮,需要用一个数组索引值作为单选按钮组名的一部分,例如:varred=document.forms[0].color[0].value;varyellow=document.forms[0].color[1].value;<inputtype="radio"name="color"value="red"checked="checked"/>red<inputtype="radio"name="color"value="yellow"/>yellow<inputtype="radio"name="color"value="blue"/>blue下拉框对象在网页中,选择列表可以使用相对较小的空间来提供大量的信息。网页上的选择列表包括弹出式和滚动式两种形式。与其他JavaScript对象相比,由于列表项数据的复杂性,在脚本中使用select元素对象比较复杂。select元素由select元素对象和option元素对象组成<form> <selectname="colors"onchange="changeColor(this)"> <optionselected="selected“>red</option> <option>blue</option> <option>green</option> </select></form>下拉框常用属性valueselect元素的value属性用于获得选中项的值,如果该选中项未设定value属性,则返回的是空字符串。lengthselect元素的length属性用于获得下拉框选择项的数量,返回一个整型值。selectedIndex获得或设置选中项下标options是一个对象数组,保存了下拉框中所有下拉选项对象的集合,集合中的选项对象还具有value和text属性表单验证表单在提交的时候会触发一个事件:submit事件,该事件会在提交的时候触发,可以通过<form>标签的onsubmit属性进行绑定和设置,这样在表单提交的时候可以执行相关的事件函数。<scripttype="text/javascript"> functiondoValidate(){ varuser=document.getElementById("username"); if(user.value==""){ alert("用户名不能为空"); user.focus(); returnfalse; } returntrue; }</script><formaction="save.html"onsubmit="returndoValidate()">

用户名:<inputname="username"/> <inputtype="submit"value="提交"/></form>正则表达式概念正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。特点灵活性、逻辑性和功能性非常的强;可以迅速地用极简单的方式达到字符串的复杂控制。对于刚接触的人来说,比较晦涩难懂。正则表达式常用符号常用的符号.表示任意一个字符。例如:t.g匹配tag、tig等\s表示空格字符(空格键,tab,换行,换页,回车)\S表示非空格字符([^\s])\d表示一个数字([0-9])\D表示一个非数字([^0-9])\w表示一个单词([a-zA-Z_0-9])\W表示一个非单词([^\w])\b表示一个单词的边界\B表示一个非单词的边界\G表示前一个匹配的结束^表示一行开始$表示一行的结尾[]表示匹配方括号内的一个字符正则表达式次数符号表示次数的符号*重复零次或更多次。例如:a*匹配零个或者多个a+重复一次或更多次。例如:a+匹配一个或者多个a?重复一次或零次。例如:a?匹配一个或者零个a{n}重复n次。例如:a{4}匹配4个a{n,}重复n次或更多次。例如:a{4,}匹配至少4个a{n,m}重复n到m次。例如:a{4,10}匹配4至10个a正则表达式实例<script>functioncheck1(){ varstr=document.getElementById("myid").value; //区号必填为3-4位的数字,区号之后用“-”与电话号码连接 //电话号码为7-8位的数字 //分机号码为3-4位的数字,若填写则以“-”与电话号码相连接 vartestExp1=/^\d{3,4}-\d{7,8}(-\d{3,4})?$/; //正则验证手机号,忽略前面的0,支持13,15,18开头。忽略前面0之后判断它是11位的。 vartestExp2=/^0*(13|15|18)\d{9}$/ if(testExp1.test(str)||testExp2.test(str)) alert("有效的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论