我是沐晴,好久不见。马上要放假啦,也是比较的忙。 今天来谈谈表格和表单的基本知识。前期的写的都是比较基础的知识,后期会慢慢增加实例。一起来学习吧。

先看表格,DOM中提供了一些属性,便于我们获取表单节点:tBodies tHead  tFoot  rows(行)  cells(列)(带S的都是获取的是一组元素)

var oTab = document.getElementById('tab');
oTab.tBodies[0].rows[1].cells[0] //获取第二行的第一个

注意,写表格的时候最好加上tbody,你不加页面也会自动帮你加tbody 所以自己写的时候 最好加上。表格内容比较简单,下面直接看看表单

首先是表单节点的获取:所有表单节点的获取不仅可以通过 JS方法用 ID等获取,DOM给我们的提供了方法,可以直接通过name获取的,而且任何浏览器都支持的。(name属性在表单中是非常重要的,因为后端就是通过这个来识别属性,所以没有name,是无法提交数据的,一定要记得写。)如下:

  var oForm = document.getElementById('form1');
alert(oForm.text1.value); //
<form id="form1">
<input type="text" name="text1" value="1">
</form>
注意:如果是一组元素,名字要一样,比如下面的单选框radio,这样选择男的时候 女就不会被选中,才能实现单选的效果。checkbox和radio是一样的。
var oForm = document.getElementById('form1');
<form id="form1">
<input type="radio" name='sex' value="man">man
<input type="radio" name='sex' value="woman">woman
</form>
//这个时候oForm.sex 获取的是一组元素,是一个类数组,oForm.sex[0] oForm.sex[1],访问的时候也可以用循环。

下拉列表中,value指的是下面的列表中带有selected属性的值

alert(oForm.city.value);//上海
// 这里的值是下面的列表中带有selected属性的值
<select name="city" value=''>
<option value="">请选择城市</option>
<option value="北京">北京</option>
<option value="上海" selected>上海</option>
</select>
然后来看看表单的一些常用事件:
onchange(当光标离开的时候相比原来 内容有变化的时候触发 )在不同的表单以及浏览器中,存在区别,如下:

    text : 当光标离开文本框的时候再去判断值是否发生了变化,如果发生了变化则触发onchange事件

    radio /checkbox :标准浏览器下点击的时候,不管焦点是否离开,只要值相比原来发生改变就触发onchange事件。非标准下焦点离开的时候如果值变了才会触发。

    select:只要选中某个元素和原来的不一样就会触发。

var oForm = document.getElementById('form1');
oForm.text1.onchange = function(){
alert(this.value);//
}
for(var i =0;i<oForm.sex.length;i++){
oForm.sex[i].onchange = function(){
alert(this.value);
}
}
oForm.city.onchange = function(){
alert(this.value);//上海
} <form id="form1">
<input type="text" name="text1" value="1">
<input type="radio" name='sex' value="man">man
<input type="radio" name='sex' value="woman">woman
<select name="city" value=''>
<option value="">请选择城市</option>
<option value="北京">北京</option>
<option value="上海" selected>上海</option>
</select>
</form>

onsubmit:当提交表单的时候触发。
例:用户未输入内容的时候不让提交。

oForm.onsubmit = function(){
if(this.text1.value == ''){
alert('请输入内容');
return false; //浏览器的默认行为是提交到指定地址,所以我们为空不让提交,就需要阻止默认行为
}
}

DOM中还提供了一个提交方法:submit():提交表单
例:想在一段时间后,让表单自动提交
setTimeout(function(){

oForm.submit();

},1000)// 自动提交表单

onreset : 当重置表单的时候触发。

例子:当点击了重置,提醒用户。

oForm.onreset = function(){
var re = confirm('你确定要重置吗');//当用户点击确定re为真 取消为假
return re;
}
// confirm 默认会弹出对话框让用户选择确定还是取消,它有一个返回值,确定为真 取消为假,并且只有用户做出选择之后才会指向后面的代码,所以把选择结果作为返回值,选择取消,就会阻止默认事件了

好啦,今天的知识点分享完毕啦。不见不散。

DOM之表格与表单基础分享的更多相关文章

  1. html学习记录之表格、表单基础

    ①编码:charset="utf-8": ​②描述及关键词:name="description":name="keywords": ③a标签 ...

  2. 框架,表格,表单元素,css基础以及基本标签的结合

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

  3. BootStrap入门教程 (二) :BASE CSS(排版(Typography),表格(Table),表单(Forms),按钮(Buttons))

    上讲回顾:Bootstrap的手脚架(Scaffolding)提供了固定(fixed)和流式(fluid)两种布局,它同时建立了一个宽达940px和12列的格网系统. 基于手脚架(Scaffoldin ...

  4. 《JAVASCRIPT高级程序设计》表单基础知识和文本框脚本

    在HTML中,表单是由<form>元素来表示,在javascript中,表单对应的是HTMLFormElement类型,它具有一些独有的属性和方法: 一.表单基础知识 1.取得表单的方式 ...

  5. WEB入门二 表格和表单

    学习内容 Ø        表格的作用和制作 Ø        表单的制作 能力目标 Ø        掌握表格的创建 Ø        掌握设置表格的常用属性: Ø        理解表单的作用 Ø ...

  6. 13、Semantic-UI之表格与表单

    13.1 定义基础样式表格   在HTML中可以通过table进行表格定义,在Semantic-UI中也可以通过class="ui table"定义表格. 示例:定义基础表格 &l ...

  7. css011 表格和表单的格式化

    css011 表格和表单的格式化 一.    让表格专司其职    Html中创建一个三行三列的表格 <table> <caption align="bottom" ...

  8. 第3天:CSS浮动、定位、表格、表单总结

    今天学的是浮动.定位.表格.表单等内容,这些是CSS中最容易混淆的知识,有许多小技巧在写代码过程中需要注意.下面是主要知识点: 一.float浮动1.块元素在一行显示2.内联元素支持宽高3.默认内容撑 ...

  9. Javascript高级编程学习笔记(73)—— 表单(1)表单基础

    表单 JS最初的一个用途就是帮助服务器分担处理表单的责任 时至今日,虽然web应用以及JS都有了长足的发展,但是表单依然是现在web应用中比较重要的部分. 因为默认的表单控件很丑,所以有时候我们会使用 ...

随机推荐

  1. SQL中CHARINDEX()/INSTR()函数和SUBSTRING()/SUBSTR()函数

    一.SQLServer中的CHARINDEX() 和ORACLE中的INSTR()函数 1.INSTR(C1,C2[,I[,J]]) [功能]在一个字符串中搜索指定的字符,返回发现指定的字符的位置; ...

  2. 简析一下SQL Server里面Fast_Forword 和 SRROLL 的区别

    这次简单说说游标的分类. 先看看通常游标的语法 DECLARE cursor_name CURSOR [ LOCAL :局部游标,仅在当前会话有效 | GLOBAL : 全局游标,全局有效,可以 ] ...

  3. 给锁住的行解锁(oracle)

    1.查看数据库锁,诊断锁的来源及类型: select object_id,session_id,locked_mode from v$locked_object; 或者用以下命令: select b. ...

  4. 查看Android支持的硬解码信息

    通过/system/etc/media_codecs.xml可以确定当前设备支持哪些硬解码.通过/system/etc/media_profiles.xml可以知道设备支持的具体profile和lev ...

  5. LINUX下NFS系统的安装配置

    准备:NFS系统服务器IP 192.168.135.1 ,NFS共享目录/mnt/NFS 一.安装NFS 查看nfs是否安装 #rpm -qa | grep nfs 若没有则安装nfs包 #yum i ...

  6. 入门级的按键驱动——按键驱动笔记之poll机制-异步通知-同步互斥阻塞-定时器防抖

    文章对应视频的第12课,第5.6.7.8节. 在这之前还有查询方式的驱动编写,中断方式的驱动编写,这篇文章中暂时没有这些类容.但这篇文章是以这些为基础写的,前面的内容有空补上. 按键驱动——按下按键, ...

  7. TFS代码变更和工作项关联,为系统变更提供完美的跟踪轨迹

    TFS是微软的应用软件生命周期管理(ALM)的解决方案产品,相比我们常见的一些ALM产品,例如HP ALM, IBM Rational, Atlanssian Jira等,其最大的区别在于TFS将软件 ...

  8. jquery——滚动条插件jscroll.js

    一.效果如下 点击“测试中奖纪录”弹出弹框.弹框中内容超出时显示滚动条. 二.代码部分 1.html结构 <body> <a href="javascript:;" ...

  9. IntelliJ IDEA 将 Maven 构建的 Java 项目打包

    前言 IntelliJ IDEA 编译生成 Jar 包的方式与 Eclipse 不同,如何将此 Maven 构建 Java 推荐引擎项目生成 Jar 包确实搜索了不少资料,有成功的有失败的,特将此验证 ...

  10. 转载:JavaSE之反射

    该文章转载自:http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html Java反射详解 本篇文章依旧采用小例子来说明,因为我 ...