DOM基础教程之使用DOM控制表单

1.表单简介

表单<form>是网页中交互最多的形式之一,它通过各种形式接收用户的数据,包括下拉列表框,单选按钮,复选框和文本框,本篇主要介绍表单中常用的属性和方法
javascript中可以很方便的操作表单,例如获得表单数据进行有效验证,自动给表单域赋值,处理表单事件等。
此时每个form都解析为一个对象,即form对象,可以通过document.forms集合来引用这些对象,例如一个nama属性为form1的表单可以使用

代码如下:

document.forms["form1"]

不仅如此,还可以通过表单在文档中的索引来引用表单对象。例如

代码如下:

document.forms[1]

表示引用文档中的第二个表单对象

以下为一个包含多种form元素,每个元素都有label标记,绑定在元素上,这样通过点击文字就能定为和选择到表格,提高了用户体验。

代码如下:

<form method="post" name="myForm1" action="addInfo.aspx">
<p><label for="name">请输入您的姓名:</label><br><input type="text" name="name" id="name"></p>
<p><label for="passwd">请输入您的密码:</label><br><input type="password" name="passwd" id="passwd"></p>
<p><label for="color">请选择你最喜欢的颜色:</label><br>
<select name="color" id="color">
    <option value="red">红</option>
    <option value="green">绿</option>
    <option value="blue">蓝</option>
    <option value="yellow">黄</option>
    <option value="cyan">青</option>
    <option value="purple">紫</option>
</select></p>
<p>请选择你的性别:<br>
    <input type="radio" name="sex" id="male" value="male"><label for="male">男</label><br>
    <input type="radio" name="sex" id="female" value="female"><label for="female">女</label></p>
<p>你喜欢做些什么:<br>
    <input type="checkbox" name="hobby" id="book" value="book"><label for="book">看书</label>
    <input type="checkbox" name="hobby" id="net" value="net"><label for="net">上网</label>
    <input type="checkbox" name="hobby" id="sleep" value="sleep"><label for="sleep">睡觉</label></p>
<p><label for="comments">我要留言:</label><br><textarea name="comments" id="comments" cols="30" rows="4"></textarea></p>
<p><input type="submit" name="btnSubmit" id="btnSubmit" value="Submit">
<input type="reset" name="btnReset" id="btnReset" value="Reset"></p>
</form>

通常每个表单元素应该有name和id属性,name用于交给服务器,id用于绑定和功能筛选。

2.访问表单中的元素

表单中的元素,无论文本框、单选按钮、下拉按钮、下拉列表框或者其他的内容,都包含在form的elements集合中,可以利用元素在集合中的位置或元素的name属性来获得该元素的引用。

代码如下:

var oForm = document.forms["form1"]//获取表单
        var otextForm = oForm.elements[0]; //获取第一个元素
        var otextPasswd = oForm.elements["passwd"] //获取name属性为passwd的元素

使用效果最高,最直观的方法引用:

代码如下:

var otextcomments = oForm.elements.comments; //获取name属性为comments的元素

3.公共属性与方法

所有表单中的元素(除了隐藏元素)都有一些共同的属性、方法。这里将一些常用的罗列

代码如下:

var oForm = document.forms["form1"]; //获取表单
            var otextcomments = oForm.elements.comments; //获取name属性为comments的元素
            alert(oForm.type); //查看元素类型
            var otextPasswd = oForm.elements["passwd"]; //获取name属性为passwd的元素
            otextPasswd.focus(); //聚焦到特定的元素上

4.表单的提交

form中的提交通过按钮或者具备按钮功能的图片来完成

代码如下:

<input type="submit" name="btnsubmit" id="btnSubmit" value="Submit">
        <input type="image" name="picSubmit" id="picSSubmit" src="Submit.jpg">

当用户按回车键或者单击其中一个按钮时,就可以完成表单的提交,无需其他代码。可以通过form中的action属性来检测是否提交。

代码如下:

<form method="post" name="form1" action="javascript:alert('submited')"></form>

用户在提交表单的过程中可能因为网速过慢而反复单击提交按钮,这对服务器而言是很大的负担,可以通过使用disabled属性来禁止这种行为。例如:

代码如下:

<input type="button" value="Submit" />

(0)

相关推荐

  • IE在DOM操作有表单控件时的bug

    bug描述 当象下例中那样操作了表单radio/checkbox的DOM结构时(或者直接影响了他们的结构时)选中的checkbox/radio将会自动恢复到默认状态,有如点了reset按钮一样. Rank's HTML document /**/ IE form control bug from: never-online weblog 1. Select radio to checked radio1 radio2 radio3 radio4 2. Click button to change

  • JavaScript DOM学习第八章 表单错误提示

    在我看来,警告框只用在浏览器不支持其他显示错误信息的办法的时候.W3C建议我们在表单项的附近显示错误信息.这是一种很好的办法,所以我们只在浏览器不支持这种高级的办法的时候才使用警告对话框. 例子 试试下面的例子.每一项都是必须的.另外我会坚持email项是否有@符号.如果没有也会提示错误信息. 复制代码 代码如下: var W3CDOM = (document.getElementsByTagName && document.createElement); window.onload =

  • jquery中dom操作和事件的实例学习-表单验证

    很显然,这样做能提升更好的用户体验. html代码: 复制代码 代码如下: <form method="post" action=""> <div class="int"> <label for="username">用户名:</label> <input type="text" id="username" class="r

  • JQuery动态创建DOM、表单元素的实现代码

    复制代码 代码如下: <!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=&qu

  • JavaScript DOM 学习第七章 表单的扩展

    想法 假设你有一个在线的CD评级工具.你希望用户查看他们喜欢的所有CD.但是你怎么知道用户平均会查看多少张呢?你在这个页面上需要添加多少字段呢? 在W3CDOM出现之前这确实是一个问题.假设你放置了7张CD.但是用户很可能只想查看一张,太多可能会吓着用户,而有些用户想查看自己的所有CD,这样就不得不反复提交很多次.这确实很烦人. 只有使用W3C DOM才能让用户决定生成多少个字段.这个效果和之前的大不相同. 例子 当你点击发送的时候,表单就会把得到的所有参数以数组的形式发送.这用来检查是否真正的

  • JavaScript DOM 学习第五章 表单简介

    因为每一个表单的检测项都不同,所以我也不能给你一个万能的代码.你需要用我在这一章介绍的这些元素构建自己的检测函数.我在后面一张还有一个例子,你也可以参考. 在这一章我会首先讨论一下用JavaScript来检测表单的局限性,然后会解释一下提交时间处理程序,然后是表单本身的一些方法和属性.最后就是如何访问表单元素. 这里还有一篇Jeff Howden的介绍表单的使用错误和解决办法.Forms & JavaScript Living Together in Harmony局限性 首先,你需要了解当用户

  • JavaScript DOM学习第六章 表单实例

    表单实例 这是一个表单的实力.这里有一个小问题:因为我的服务器现在不支持,所以表单不能提交.我会打印出你的输入,然后返回一个false,这样表单就没有被提交. onSubmit的代码做了两件事情:检查你是否在四个文本框里面都填写了数据,然后把所有的元素都连接起来打印在下面的文本区域中. 原文中有实例,需要童鞋请移步,我就不搬过来了. 检测文本区域 这段代码会检测用户是否在文本框内输入了内容.他会忽略复选框和单选框,但是会总提醒用户选择select box,就算你选了,也会提醒,因为他的值总是nu

  • 使用原生javascript创建通用表单验证——更锋利的使用dom对象

    首先看下效果,没什么特别,呵呵! 调用的代码呢,则是相当简单,不需要创建其他的Label或者span标签,脚本将自动生成: 复制代码 代码如下: <input type="text" id="txt1" onkeyup="checkResult(this.value == '', 'txt1', ' *这里不能为空喔!')" /> 接下来我们看下这个checkResult这个函数,checkCondition参数表示判断条件,当条件为

  • DOM基础教程之使用DOM控制表单

    1.表单简介 表单<form>是网页中交互最多的形式之一,它通过各种形式接收用户的数据,包括下拉列表框,单选按钮,复选框和文本框,本篇主要介绍表单中常用的属性和方法 javascript中可以很方便的操作表单,例如获得表单数据进行有效验证,自动给表单域赋值,处理表单事件等. 此时每个form都解析为一个对象,即form对象,可以通过document.forms集合来引用这些对象,例如一个nama属性为form1的表单可以使用 复制代码 代码如下: document.forms["fo

  • DOM基础教程之使用DOM控制表格

    表格的css控制就先不说了,首先分享下表格常用的DOM 表格添加操作的方法常用的为insertRow()和insertCell()方法. row是从零开始计算起的,例如: 复制代码 代码如下: var oTr = document.getElementById("member").insertRow(2) 是指将新行添加到第二行. 复制代码 代码如下: var aText = new Array(); aText[0] = document.createTextNode("f

  • DOM基础教程之使用DOM

    在了解DOM(文本对象模型)的框架和节点后,最重要的是使用这些节点处理html网页 对于一个DOM节点node,都有一系列的属性和方法可以使用.常用的有下表. 完善:http://www.w3school.com.cn/xmldom/dom_element.asp 1.访问节点 BOM提供了一些边界的方法访问节点,常用的就是getElementsByTagName(),和getElementById() 复制代码 代码如下: <script type="text/javascript&qu

  • DOM基础教程之使用DOM设置文本框

    1.控制用户输入的字符个数 对于单行文本框和密码输入框,可以利用maxlength属性控制用户输入的字符个数. 对于多行文本,maxlength为自定义属性,其值最多输入的字符的个数,在onkeypress事件发生时则调运返回LessThan()函数返回值,函数如下 <textarea name="comments" id="comments" cols="40" rows="4" maxlength="50&

  • DOM基础教程之使用DOM + Css

    1.使用getElementsByTagName修改class类别或者追加类别 复制代码 代码如下: <ul class="name1" onclick="clickz()">     <p>第一个</p>     <p>第一个</p>     <p>第一个</p>     <p>第一个</p> </ul> <script type=&quo

  • DOM基础教程之模型中的模型节点

    <html>位于网页的顶端 它没有父辈,称之为根节点 1.元素节点(element node) 可以说,整个DOM模型都是由元素节点(element node)组成 比如文本段落元素"<p>",无序清单的名称"<ul>",元素节点包含其他元素. 2.文本节点(text node) 例如<h2>中的文本"标题1",<li>中的文字内容,这些具体文本在DOM称为(text node) 3.属

  • DOM基础教程之事件对象

    浏览器中的事件都是以对象的形式存在的,同样ie浏览器与标准dom浏览器之间存在获取事件对象上也存在差别.在ie浏览器中事件对象是windows对象的一个属性event,访问通常采用如下方法. 复制代码 代码如下: oP.onclick = function(){ var oEvent = window.event; } 尽管它是window对象属性,但event对象还是只能在事件发生时被访问,所有的事件处理函数执行完之后,该对象就消失了. 而标准的dom规定event对象必须作为唯一的参数传给事

  • DOM基础教程之事件类型

    对于用户事件类型而言,最常用的是鼠标.键盘.浏览器. 1.鼠标事件: 鼠标的事件都频繁使用,下面例子就测试各种鼠标事件 复制代码 代码如下: <script language="javascript">             function handle(oEvent) {                 var disp = document.getElementById("display");                 if (window

  • Javascript & DHTML 实例编程(教程)DOM基础和基本API

    一.什么是DOM? 什么叫DOM,DOM是文档对象模型(Document Object Model,是基于浏览器编程(在本教程中,可以说就是DHTML编程)的一套API接口,W3C出台的推荐标准,每个浏览器都有一些细微的差别,其中以Mozilla的浏览器最与标准接近.单纯的Javascript要结合DOM才能做DHTML编程,才能做出漂亮的效果.应用于WEB.这点几乎与其它的语言无异,正如C/C++需要库支持是一样的道理.否则就是单纯的在语法上做研究了.因此,必须要对DOM有一定的认识,才能把J

  • DOM基础及php读取xml内容操作的方法

    本文实例讲述了DOM基础及php读取xml内容操作的方法.分享给大家供大家参考.具体分析如下: DOM(Document Object Model):文档对象模型.核心思想是:把 xml文件看作是一个对象模型,然后通过对象的方式来操作 xml 文件. php对xml文档进行增删改查(curd)操作,具体分析如下: xml文档:class.xml 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <c

随机推荐