DOM之表格与表单基础分享
我是沐晴,好久不见。马上要放假啦,也是比较的忙。 今天来谈谈表格和表单的基本知识。前期的写的都是比较基础的知识,后期会慢慢增加实例。一起来学习吧。
先看表格,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之表格与表单基础分享的更多相关文章
- html学习记录之表格、表单基础
①编码:charset="utf-8": ②描述及关键词:name="description":name="keywords": ③a标签 ...
- 框架,表格,表单元素,css基础以及基本标签的结合
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...
- BootStrap入门教程 (二) :BASE CSS(排版(Typography),表格(Table),表单(Forms),按钮(Buttons))
上讲回顾:Bootstrap的手脚架(Scaffolding)提供了固定(fixed)和流式(fluid)两种布局,它同时建立了一个宽达940px和12列的格网系统. 基于手脚架(Scaffoldin ...
- 《JAVASCRIPT高级程序设计》表单基础知识和文本框脚本
在HTML中,表单是由<form>元素来表示,在javascript中,表单对应的是HTMLFormElement类型,它具有一些独有的属性和方法: 一.表单基础知识 1.取得表单的方式 ...
- WEB入门二 表格和表单
学习内容 Ø 表格的作用和制作 Ø 表单的制作 能力目标 Ø 掌握表格的创建 Ø 掌握设置表格的常用属性: Ø 理解表单的作用 Ø ...
- 13、Semantic-UI之表格与表单
13.1 定义基础样式表格 在HTML中可以通过table进行表格定义,在Semantic-UI中也可以通过class="ui table"定义表格. 示例:定义基础表格 &l ...
- css011 表格和表单的格式化
css011 表格和表单的格式化 一. 让表格专司其职 Html中创建一个三行三列的表格 <table> <caption align="bottom" ...
- 第3天:CSS浮动、定位、表格、表单总结
今天学的是浮动.定位.表格.表单等内容,这些是CSS中最容易混淆的知识,有许多小技巧在写代码过程中需要注意.下面是主要知识点: 一.float浮动1.块元素在一行显示2.内联元素支持宽高3.默认内容撑 ...
- Javascript高级编程学习笔记(73)—— 表单(1)表单基础
表单 JS最初的一个用途就是帮助服务器分担处理表单的责任 时至今日,虽然web应用以及JS都有了长足的发展,但是表单依然是现在web应用中比较重要的部分. 因为默认的表单控件很丑,所以有时候我们会使用 ...
随机推荐
- MapReduce二次排序
默认情况下,Map 输出的结果会对 Key 进行默认的排序,但是有时候需要对 Key 排序的同时再对 Value 进行排序,这时候就要用到二次排序了.下面让我们来介绍一下什么是二次排序. 二次排序原理 ...
- 用MsmqBinding投送message出现的一个灵异事件 【第二篇】
一直都在用Msmqbinding,也一直忽视了message里面的内容格式是什么样的,这也是微软给我们高层封装带给我们的开发效率,但同时一旦中间出了什么问题, 就不知道从何查起了.有个需求是这样的,服 ...
- Maven Scope
Dependency Scope 在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署.目前<scope>可以使用5个值: * ...
- 探究C语言中的前++和后++
小波带您探究c语言中的前++与后++: 欢迎吐槽,欢迎加QQ463431476. 欢迎关注! 现在来探究: 咱们先看第一个 i被赋值0,i++(后++)并没有输出1. 现在i被赋值0,++i,也 ...
- C语言中链表怎么删除结点?
第一个方法: /*根据姓名删除链表的中的学生记录*/ void deleteByName(struct STUDENT * head) { struct STUDENT *p,*q; ]; if(he ...
- shell脚本学习指南
一.UNIX各个工具所支持的正则表达式: 二.使用sed在某一目录下建立一份目录备份: find /home/foo/ -type d -print | #找出/home/foo/目录下所有目录文件 ...
- 调试2440 RAM拷贝至SDRAM遇到的问题
汇编代码主要是初始化一些寄存器,关狗,初始化时钟,初始化存储管理器以便访问内存,然后将SoC上4k RAM数据拷贝至SDRAM,然后在SRAM里面运行,由于代码未正常跑起来,于是使用JLinkExe来 ...
- 32-bit ALU [Verilog]
Based on MIPS Instruction Structure Main Module module Alu( input [31:0] a, // operand 1 input [31:0 ...
- Vijos1680距离/openjudge2988计算字符串的距离[DP]
描述 设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为”abcbcd”,则字符串“abcb_c_”,“_a_bcbcd_”和“abcb_c_”都是X的扩展 ...
- AC日记——矩阵交换行 openjudge 1.8 01
01:矩阵交换行 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换 ...