JavaScript 学习(2)表单元素
JavaScript 学习-2
1. 表单和表单元素
1.1 form对象
form对象的引用:document.forms[0]或者引用name属性,如:document.forms["formname"],也可以直接使用document.formname调用form对象
1.2 form表单属性和元素
name,target,action,method,enctype
赋值改变:document.forms[0].action或document.formName.action
获得form中的元素使用form.elements[],如下面将text值清零
var form=window.document.forms[0];
for(var i=0;i<form.elements.length;i++){
if(form.elements[i].type=="text"){
form.elements.value="";
}
}
1.3表单控件
- 文本框
text,文本的最常用的属性是value属性,value属性的内容通常是一个字符串。 - 按钮对象
button,主要是click处理事件 - 复选框对象
checkbox,属性为checked,布尔类型 - 单选按钮对象
radio,设置该对象时候需要设置为相同的name,获取单选按钮对象的数量可以使用document.forms[0].groupName.length,检测是否高亮选择使用document.forms[0].groupName[0].checked - select对象,select对象是符合对象一个包含了option对象数组的对象,访问方法如下
document.forms[0].selectName.selectedIndex获得当前选择的下标,document.forms[0].selectName.options[n].text和document.forms[0].selectName.options[n].value,其中text属性是select对象显示的字符串,可以使用onchange事件处理器,比如我们常见的下拉后选择网站后直接导航。
<html>
<head>
<title></title>
<script type="text/javascript">
function goThere () {
var list=document.forms[0].urlList;
location.href=list.options[list.selectedIndex].value;
}
</script>
</head>
<body>
<form name="radiolist">
<select name="urlList" onchange="goThere()">
<option selected value="http://www.baidu.com">baidu
<option value="http://www.qq.com">qq
</select>
</form>
</body>
</html>
1.4向函数传递表单数据和元素
javaScript提供了一个关键字this,它通常指向对象,这个对象包含使用这个关键词的脚本,因此,在一个文本域的onchange事件处理器中,可以使用this作为关键词为函数的参数如
<input type="text" name="entry" onchage="upperMe(this)">
function upperMe(field){ //dosomething }
每个控件都有一个指向所含的表的属性,故可以这么写this.form获取该form
<html>
<head>
<title>js_4</title>
<script type="text/javascript">
function processData (formthis) {
for(var i=0;i<formthis.Beatles.length;i++){
if(formthis.Beatles[i].checked){
break;
}
}
var beatle=formthis.Beatles[i].value;
var song=formthis.song.value;
alert("chcecking whether "+song+" feature in " +""+beatle);
}
function varifySong(entry){
var song=entry.value;
alert("checking whether "+song+" is a beatles tunes");
}
</script>
</head>
<body>
<form onsubmit="return false">
<p>choose your favoriate Beatle:
<input type="radio" name="Beatles" value="Jhon" checked>John
<input type="radio" name="Beatles" value="Markey">Markey</p>
<p> input your song name:<br>
<input type="text" name="song" value="song search" onchange="varifySong(this)">
<input type="button" name="process " value="process requset..." onclick="processData(this.form)"></p>
</p>
</form>
</body>
</html>
这段代码有一个比较特殊的逻辑,实验后能发现,在输入框输入之后,点击process requeset之后我们可以看到首次触发是文本框的onchange事件,而process requeset的事件并没有执行。因为text onChange事件的触发是在text离开焦点就触发了,所以在点击text之外的任何的地方都会先触发onChange事件,而按钮的单击在第二次点击后才能执行。这就是组合验证。
1.5提交和验证表单
onsubmit事件处理必须求值得到return true才允许继续提交,或者return false阻止提交。
<html>
<head>
<title>js_5</title>
<script type="text/javascript">
function checkForm(fomr1){
for (var i = 0; i < fomr1.elements.length; i++) {
if(fomr1.elements[i].type=="text" &&fomr1.elements[i].value==""){
alert("fill all the name");
return false;
}
};
}
</script>
</head>
<body>
<form onsubmit="return checkForm(this)">
Please enter all requested information:<br>
FirstName: <input type="text" name="FirstName"><br>
LastName :<input type="text" name="LastName"><br>
<input type="submit">
</form>
</body>
</html>
JavaScript 学习(2)表单元素的更多相关文章
- 9. Javascript学习笔记——表单处理
9. 表单处理 9.1 表单的基础知识 ///表单用 <form> 元素表示,对应的是 HTMLFormElement 类型,继承自 HTMLElement. //属性:action.me ...
- JavaScript之控制表单元素的值
表单元素.value 获取表单元素的值 表单元素.value='这是修改后的值' 修改表单元素的值 案例: (1)html <input type="text" id=&qu ...
- HTML学习笔记 表单元素
<form></form>代表表单 action:往什么地方提交 method:提交方式 get显示提交(不安全) post隐视提交(安全) 提交内容: name=输入的 ...
- [html5] 学习笔记-表单新增的元素与属性(续)
本节主要讲解表单新增元素的controls属性.placeholder属性.List属性.Autocomplete属性.Pattern属性.SelectionDirection属性.Indetermi ...
- HTML5 学习总结(二)——HTML5新增属性与表单元素
一.HTML5新增属性 1.1.contextmenu contextmenu的作用是指定右键菜单. <!DOCTYPE html> <html> <head> & ...
- HTML5 学习笔记(二)——HTML5新增属性与表单元素
目录 一.HTML5新增属性 1.1.contextmenu 1.2.contentEditable 1.3.hidden 1.4.draggable 1.5.data-* 1.6.placehold ...
- HTML5学习总结——HTML5新增属性与表单元素
一HTML5新增属性 1.1contcxtmcnu contextmenu的作用是指定右键菜单. <!DOCTYPE html> <html> <head> < ...
- HTML之学习笔记(十)表单元素
html表单元素的基本格式为(必须包含在form标签中)
- [html5] 学习笔记-表单新增元素与属性
本节讲的是表单元素的form,formaction属性,frommethod,formenctype属性,formtarget,autofocus属性,required,labels属性. 1.for ...
随机推荐
- server2008系统修改3389远程端口
我给大家简单谈谈正确修改远程端口的方法 在开始-----运行菜单里,输入regedit,进入注册表编辑,按先面的路径进入修改端口的地方 HKEY_LOCAL_MACHINE\System ...
- intellij中常用的快捷键
intellij快捷键
- Atitit.检测文本文件的编码 自动获取文件的中文编码
Atitit.检测文本文件的编码 自动获取文件的中文编码 1 不能使用load来检测编码..1 2 使用convert来检测编码1 3 程序检测文本编码2 3.1 根据utf bom头2 3.2 检测 ...
- 日志分析工具--GoAccess的安装部署
需求:及时得到线上用户访问日志分析统计结果,以便给开发.测试.运维.运营人员提供决策! 方案:GoAccess,图文并茂,而且速度快,每秒8W 的日志记录解析速度,websocket10秒刷新统计数据 ...
- 使用SQLite
SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成. Python就 ...
- [个人开发人员赚钱九]做一个日收入10元的APP!
[导语]尽管讲了非常多个人开发人员的文章.但新手开发人员怎样赚自己的第一个10块钱.确是最难的事情.群里有人说都不知道干什么app赚钱.全然没有想法.而且常常问我有什么高速赚钱的方法.我仅仅能遗憾地 ...
- oracle9i 精简版客户端界面没有显示实例名
1.右击"我的电脑",选择"属性"菜单项 2.在弹出的窗口中,点击"高级系统设置" 3.在弹出的窗口中,选择"环境变量" ...
- mybatis expected at least 1 bean which qualifies as autowire candidate for this dependency
错误原因:没有引入相应mapper接口,导致spring没有找到依赖 解决方法一:使用注解的方法: 首先在spring配置文件中添加 <bean class="org.mybatis. ...
- hdu6006 Engineer Assignment 状态dp 定义dp[i][s]表示前i个工程状态为s可以执行的最大工程数。s表示前i个工人选走了s状态的工程师。
/** 题目:hdu6006 Engineer Assignment 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6006 题意:已知n个工程,每个需要某 ...
- UML类图简单说明,学习编程思路的必会技能
摘抄记录学习用 先看一张图,图片资源来自于大话设计模式,接下来我要跟着这本书一起走,如侵权,立即删除. 看见上图估计没学过或者不是本专业的没接触过的人,看这一堆估计就不想看了,但别怕一个一个分析. 一 ...