一致。selected :返回/指定该对象是否被选中。通过指定 true 或者 false,可以动态的改变选中项。
defaultSelected :返回该对象默认是否被选中。true / false。
Submit 提交按钮对象 由“指定。
因为 Submit与 Button、reset对象都是按钮,所以它们有相同的属性和方法。但是对按钮我们一般只关心点击它们,即“onclick”事件,一般用 Form 对象的 onsubmit 代替。
练习:
为上节课做的登录页面,加上js处理代码,在表单提交时,先检查用户的输入是否符合要求。
如果不符合,弹出提示(alert)信息。
如果输入正确,弹出登录成功提示。
如有时间,练习一下如何获得单项、多选、下拉列表等选择类控件当前选择的情况。
三、 javascript 基本对象
Javascript 内置了一些基本对象,提供了相应的属性与方法,供我们编程时使用。
1、String 字符串对象
方法:
charAt() 用法:<字符串对象>.charAt(<位置>)。
返回该字符串位于第<位置>位的单个字符。注意:字符串中的一个字符是第 0 位的,第二个才是第 1 位的,最后一个字符是第 length - 1 位的。
charCodeAt() 用法:<字符串对象>.charCodeAt(<位置>);
返回该字符串位于第<位置>位的单个字符的 ASCII 码。
indexOf() 用法:<字符串对象>.indexOf(<另一字符串对象>[, <起始位置>]);
该方法从<字符串对象>中查找<另一个字符串对象>(如果给出<起始位置>就忽略之前的位置),如果找到了,就返回它的位置,没有找到就返回“-1”。
lastIndexOf() 用法:<字符串对象>.lastIndexOf(<另一个字符串对象>[, <起始位置>]);跟 indexOf() 相似,不过是从后边开始找。
split() 用法:<字符串对象>.split(<分隔符字符>);
返回一个数组,该数组是从<字符串对象>中分离开来的,<分隔符字符>决定了分离的地方,它本身不会包含在所返回的数组中。例如:'1&2&345&678'.split('&')返回数组:1,2,345,678。关于数组,我们等一下就讨论。
substring() 用法:<字符串对象>.substring(<始>[, <终>]);
这个和java的一样。
substr() 用法:<字符串对象>.substr(<始>[, <长>]);
返回原字符串的子字符串,该字符串是原字符串从<始>位置开始,长度为<长>的一段。如果没有指定<长>或指定得超过字符串长度,则子字符串从<始>位置一直取到原字符串尾。如果所指定的位置不能返回字符串,则返回空字符串。
toLowerCase() 用法:<字符串对象>.toLowerCase();
返回把原字符串所有大写字母都变成小写的字符串。
toUpperCase() 用法:<字符串对象>.toUpperCase();
返回把原字符串所有小写字母都变成大写的字符串。
2、Math “数学”对象
该对象内置了一些常用的数学常量和函数,可用 Math.XXX的形式调用。
属性:
E :返回常数 e (2.718281828...)。
LN2 :返回 2 的自然对数 (ln 2)。
LN10 :返回 10 的自然对数 (ln 10)。
LOG2E :返回以 2 为低的 e 的对数 (log2e)。
LOG10E :返回以 10 为低的 e 的对数 (log10e)。
PI :返回π(3.1415926535...)。
SQRT1_2 :返回 1/2 的平方根。
SQRT2 :返回 2 的平方根。
方法:
abs(x) :返回 x 的绝对值。
acos(x) :返回 x 的反余弦值(余弦值等于 x 的角度),用弧度表示。
asin(x) :返回 x 的反正弦值。
atan(x) :返回 x 的反正切值。
atan2(x, y) :返回复平面内点(x, y)对应的复数的幅角,用弧度表示,其值在 -π 到 π 之间。
ceil(x) :返回大于等于 x 的最小整数。
cos(x) :返回 x 的余弦。
exp(x) :返回 e 的 x 次幂 (ex)。
floor(x) :返回小于等于 x 的最大整数。
log(x) :返回 x 的自然对数 (ln x)。
max(a, b) :返回 a, b 中较大的数。
min(a, b) :返回 a, b 中较小的数。
pow(n, m) :返回 n 的 m 次幂 (nm)。
random() :返回大于 0 小于 1 的一个随机数。
round(x) :返回 x 四舍五入后的值。
sin(x) :返回 x 的正弦。
sqrt(x) :返回 x 的平方根。
tan(x) :返回 x 的正切。
3、Date 日期对象
这个对象可以储存任意一个日期,从 0001 年到 9999 年,并且可以精确到毫秒数(1/1000 秒)。
在内部,日期对象是一个整数,它是从 1970 年 1 月 1 日零时开始,计算到日期对象所指的日期的毫秒数。
如果所指日期比 1970 年早,则它是一个负数。
所有日期时间,如果不指定时区,都采用“UTC”(世界时)时区,它与“GMT”(格林威治时间)在数值上是一样的。
定义一个日期对象:
var d = new Date; //注意,不用写 ()
声明d 为日期对象并已有初始值为当前时间。如果要自定初始值,可以用:
var d = new Date(99, 10, 1); //99 年 10 月 1 日
var d = new Date('Oct 1, 1999'); //99 年 10 月 1 日
Date有很多“g/set[UTC]XXX”这样的方法,它表示既有“getXXX”方法,又有“setXXX”方法。
“get”是获得某个数值,而“set”是设定某个数值。如果带有“UTC”字母,则表示是基于 UTC 时间的,没有则表示基于本地时间或浏览期默认时间的。
如无说明,这些方法的使用格式为:“<日期对象>.<方法>”,下同。
g/set[UTC]FullYear() 返回/设置年份,用四位数表示。如果使用“x.set[UTC]FullYear(99)”,则年份被设定为 0099 年。
g/set[UTC]Year() 返回/设置年份,用两位数表示。设定的时候浏览器自动加上“19”开头,故使用“x.set[UTC]Year(00)”把年份设定为 1900 年。
g/set[UTC]Month() 返回/设置月份。
g/set[UTC]Date() 返回/设置日期。
g/set[UTC]Day() 返回/设置星期,0 表示星期天。
g/set[UTC]Hours() 返回/设置小时数,24小时制。
g/set[UTC]Minutes() 返回/设置分钟数。
g/set[UTC]Seconds() 返回/设置秒钟数。
g/set[UTC]Milliseconds() 返回/设置毫秒数。
g/setTime() 返回/设置时间,该时间就是日期对象的内部处理方法:从 1970 年 1 月 1 日零时正开始计算到日期对象所指的日期的毫秒数。如果要使某日期对象所指的时间推迟 1 小时,就用:“x.setTime(x.getTime() + 60 * 60 * 1000);”(一小时 60 分,一分 60 秒,一秒 1000 毫秒)。
getTimezoneOffset() 返回日期对象采用的时区与格林威治时间所差的分钟数。在格林威治东方的市区,该值为负,例如:中国时区(GMT+0800)返回“-480”。
toString() 返回一个字符串,描述日期对象所指的日期。这个字符串的格式类似于:“Fri Jul 21 15:43:46 UTC+0800 2000”。
toLocaleString() 返回一个字符串,描述日期对象所指的日期,用本地时间表示格式。如:“2000-07-21 15:43:46”。
toGMTString() 返回一个字符串,描述日期对象所指的日期,用 GMT 格式。
toUTCString() 返回一个字符串,描述日期对象所指的日期,用 UTC 格式。
parse() 用法:Date.parse(<日期对象>);返回该日期对象的内部表达方式。
四、其它
1、使用外部 js 文件
对应一些可重用的 js 函数,在每个页面都写一次显然不合适。
我们可以将函数统一写入专门的以js为扩展名的一个文件中,如果某一页面要调用该文件中的函数,只要在页面中导入该文件即可。
导入 js 文件的方法:
在页面的
标记中,指定标记的 src属性为该文件的路径及名称。例如,我们导入一个名为 demo.js的文件:调用函数处按正常方式调用即可。参见修改后的frameDemo1\\htmlfile\\b.html
今后应该养成好的习惯,见到值得收藏的js函数,分类放到相应的js文件中,以后需要的时候可以直接用。
比如,对用户在文本框中输入的一些、检查等。
2、使用框架
一个框架内的网页也是 window 对象,也就是说,Frame 对象也是 window 对象。即每一个 HTML 文件单独对应一个 window 对象,包括定义框架的网页(“框架网页”)。
在 IE 里用“