Java Web基础:第十八讲 JavaScript处理(一)
来源:互联网 发布:warframe总是端口错误 编辑:程序博客网 时间:2024/05/22 13:42
本文内容摘自:《Java Web开发教程——入门与提高篇(JSP+Servlet)》
作为一门语言,JavaSript的功能非常强大。下面通过几个常用的例子来展示一下JavaScript在客户端的处理。
处理的基本过程如下:
l 根据要完成的功能编写相应的方法;
l 在相应的元素上添加事件关联代码,例如<body onload="init()">就表示加载body的时候调用init方法。常用的事件如表4.1所示:
表4.1 JavaScript事件及对应的方法
事件对应的方法
事件
支持的页面元素
onclick
鼠标单击时
所有元素
ondbclick
鼠标双击时
所有元素
onchange
显示的值改变时
表单元素
onfocus
窗口或元素获得焦点时
<body>和表单元素
onblur
窗口或元素失去焦点时
<body>和表单元素
onload
文档,图像,或对象加载完毕时
<body>, <frameset>, <img>, <iframe>, <object>
onsubmit
表单提交时
<form>
onunload
文档卸载时
<body>, <frameset>
实例:复选框全选与取消
应用背景:页面中有多个复选矿。希望快速选择所有,都不选择。
典型例子:基于Web的邮件客户端,在管理邮件的时候,可以选择所有邮件,或者取消选择。
实现的基本思路:得到所有的复选框,使用他们的checked属性,设置为true(全选)或者false(不选)。
<html>
<head>
<script language="JavaScript">
<!--
//CheckBox全选
function selectAll(formName, cbName) {
var o = document.forms(formName).item(cbName);
if (o.length) {//判断是否只有一项
for (i=0; i<o.length; i++) {
document.forms(formName).item(cbName)[i].checked = true;
}
} else {
o.checked = true;
}
}
//CheckBox取消全选
function unSelectAll(formName, cbName) {
var o = document.forms(formName).item(cbName);
if (o.length) {//判断是否只有一项
for (i=0; i<o.length; i++) {
document.forms(formName).item(cbName)[i].checked = false;
}
} else {
o.checked = false;
}
}
//-->
</script>
</head>
<body>
<form name="f1">
<input type="checkbox" name="interest" value="1">旅游<br>
<input type="checkbox" name="interest" value="2">音乐<br>
<input type="checkbox" name="interest" value="3">运动<br>
<input type="button" value="全选" onclick="selectAll('f1', 'interest')">
<input type="button" value="取消全选" onclick="unSelectAll('f1', 'interest')">
</form>
</body>
</html>
实例:联动菜单
应用背景:在页面中有多个下拉菜单,某个菜单的值的变化会影响其他菜单的值的变化。
典型例子:地址的选择通常是先选择省份,再选择城市。类型的选择通常先选择大的分类,然后再选择小的分类。
实现的基本思路:
l 为主菜单添加onchange事件,这样在主菜单中选项发生改变的时候,调用JavaScript函数来修改被动菜单的选项,代码中的onchange="changeCity()"完成该功能;
l 在JavaScript函数中根据主菜单的选项确定被动菜单的选项,主要是动态赋值,参见代码中的注释。
...
<script language="javascript" type="text/javascript">
function changeCity(){
// 定义主菜单的内容
var province = ["辽宁","陕西","山东"];
// 定义被动菜单可能的内容
var citys = [["沈阳","大连","鞍山"],["西安","咸阳","宝鸡","汉中"],["青岛","济南","烟台","威海","泰安"]];
// 获取主菜单中被选择的项
selected = document.getElementById("province").value;
// 设置被动菜单的选项个数
city.length=citys[selected-1].length;
// 为被动菜单的每个选项赋值
for(i=0;i<citys[selected-1].length;i++)
{
city.options[i].value = i+1; // 显示信息
city.options[i].text = citys[selected-1][i]; // 值
}
}
</script>
...
请选择您所在的城市:
<select name="province" onchange="changeCity()">
<option value="1" selected>辽宁</option>
<option value="2">陕西</option>
<option value="3">山东</option>
</select>
<select name="city">
<option value="1" selected>沈阳</option>
<option value="2">大连</option>
<option value="3">鞍山</option>
</select>
...
上一讲:第十七讲 业务处理概述
下一讲:第十九讲 JavaScript处理(二)
李绪成 CSDN Blog:http://blog.csdn.net/javaeeteacher
邀请您为好友:http://student.csdn.net/invite.php?u=124362&c=7be8ba2b6f3b6cc5
- Java Web基础:第十八讲 JavaScript处理(一)
- Java Web基础:第十九讲 JavaScript处理(二)
- Java基础:第十八讲 String用法(上)
- Java基础:第十八讲 String用法(上)
- Java基础第十七讲:异常处理(一)
- Java基础第十七讲:异常处理(一)
- Java Web基础:第十七讲 业务处理概述
- 第十八讲 动画制作及声音载入(一)
- 第十八讲
- Web基础之JavaScript(一)
- Java基础第二讲:Java基本语法(一)
- Java基础笔记-第十八记
- Java Web基础:第二十讲 Ajax概述
- Java Web基础:第十五讲 正则表达式
- Java Web基础:第二十讲 Ajax概述
- java基础第四讲JavaScript详解
- 织梦仿站系列教程第十八讲——封面页制作(一)
- Java Web基础:第三讲 Java Web应用概述
- **:做人的基本原则(看完终身受益)
- 关于破圈法求最小生成树
- 二叉树深度求法
- Windows Starter Kit
- Java Web基础:第十七讲 业务处理概述
- Java Web基础:第十八讲 JavaScript处理(一)
- Java Web基础:第十九讲 JavaScript处理(二)
- 史诗级梦
- [Java框架-grails从基础到实践]2、groovy 介绍-了解即可
- 独善其身,兼爱天下
- 09年的零零总总
- 一位“准程序员”看“争论”
- 如果你想让你爱人的名字在电脑的右下角显示
- 今天的我。。