1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第三篇,Web,应用程序设计,本章对应的是教材中的第三篇,包括,13 15,三章内容,另外补充了一些内容。,这三章分别介绍了,Web,开发基础、,Web,服务器控件及一个开发实例。,Web,开发涉及一些基础性的东西,,HTML,、,JavaScript,、,CSS,等都应该有所了解,我们会先简单介绍一下这方面的知识。,课上将这些内容整合为一章,因此内容与书上有所变化。,本章主要内容,Web,开发基础,HTML,初步,JavaScript,简介(不介绍,CSS,了,),IIS,简介,一个简单的,ASP.NET,
2、程序演示,Web,控件与,HTML,控件,ASP.NET,编程的一些重要问题,常用,Web,服务器控件,ASP.NET,连接数据库及数据绑定与显示,Web,表单,和,Web,窗体,窗体和表单的英文单词都是,Form,一般,HTML,的,Form,称为,表单,把,“,Web,表单,”,改为,“,Web,窗体,”,与之加以区分。,另外强调,写,ASP.NET Web,应用程序,就像写,Windows,窗体程序一样简单方便,程序员可以大致了解,HTML,即可进行开发。,1.,Web,开发基础,What is the World Wide Web?,WWW,的概念 1989年由,Berners-Lee
3、提出。,What makes the Web work?,Web,依赖于以下机制,:,Hypertext,Protocols,Universal Resource Locator(URL),Client and server computers,剖析一个,URL,protocol,host computer,directory path,file name,Note:Not all URLs will have the directory and filename,What,makes the Web work?,How,the Web works?,2.浏览器解释用户的请求并向相应的服务器
4、发出请求,3.服务器接受并处理浏览器的请求,4.服务器发送用户所需文件并被浏览器解释,1.用户发送请求,5.浏览器显示用户所需内容,Browser,Client-Side,Server-Side,HTML,XML,XHTML,Cascading Style Sheets(CSS),Scripting languages,-JavaScript,VBScript,Java Applets,ActiveX controls,Plug-ins and Helpers application,CGI/Perl,PHP,ColdFusion,Scripting Languages,-Server-sid
5、e JavaScript,-,ASP,JSP,Java Servlets,API programs,Client-side&Server-side Technologies,静态网页,早期的,WEB,技术,只能处理静态的,HTML,网页。,客户机向,WEB,服务器请求一个网页,,WEB,服务器将,HTML,网页下载到客户端,由客户端解释并运行这个网页,WEB,服务器,HTML,网页,客户机浏览器,请求,下载,HTTP,网页,HTML,网页,解释并运行,Internet,用户端,服务器,静态网页,开发语言:,HTML,开发工具:,FrontPage、DreamWeaver,等,浏览器:,IE、N
6、etscape,等,WEB,服务器:,IIS、,Apache,、WebLogic,等,OS:Windows、Unix、Linux,等,早期的动态网页,后来,出现了一些客户端的“,动态网页,”技术,主要是使用,嵌入,到,HTML,的,脚本语言,,,控制,HTML,元素,让呆板的,HTML,页面“活”起来。浏览器也加上了,脚本解释,功能,WEB,服务器,HTML/,脚本网页,客户机浏览器+脚本解释器,请求,下载,HTTP/,脚本网页,HTML/,脚本网页,解释并运行,服务器端动态网页技术,客户端的技术不能解决对数据库、文件等服务器资源的访问问题,限制了,WEB,技术的应用,尤其是企业级应用。,于是
7、服务器端,的动态网页,技术应运而生。,动态网页基本原理,客户机请求一个服务器端网页。,服务器端网页是一个混合了,HTML、,服务器端脚本语言、服务器端资源访问对象的程序。,该程序接到请求后,首先在服务器上执行服务器端脚本语言,进行对服务器端资源访问对象的调用(如数据库调用)。,然后通过一个”过滤器”程序(,ASP.NET,过滤器是,aspnet_isapi.dll),,将服务器端网页执行的结果“翻译”成客户端的,HTML/,脚本,下载到客户端浏览器上解释并运行。,什么是,ASP,ASP(,A,ctive,S,erver,P,age),是由,Microsoft,开发的用于构建,动态,网站的技术
8、ASP.NET,是,.NET Framework,的一部分,是一个统一的,Web,开发模型。,能够以,C#,语言编写,Web,应用程序,其开发的页面默认由两部分组成:,页面文件(,.aspx,)用来编写,HTML,代码,代码隐藏页文件(,.aspx.cs,)用于处理页面逻辑,可用,C#,编写。,早期的,ASP,代码,Hello World by ASP ,Client,Server,Request,Reply with,HTML page,ASP,Server,Component,Hands request to,Hands HTML page,Translates,Script,Into
9、HTML,How to load an ASP page?,缺点,这种服务器端的动态网页技术有两个重要缺陷:,服务器端脚本语言是,解释执行,的,效率低下。,HTML,元素和程序,代码混排,,使程序结构极坏,不利于写作和阅读,ASP.NET,解决了这两个问题,它是,编译运行,的,效率相当高,使用了“,代码后置,code behind”,技术,使,HTML,和代码分开,不仅利于程序写作和阅读,还使团队分工成为可能。,页面设计师可以设计,HTML,,程序员可以写程序,两人的工作成果可一起运行,一个,ASP.NET,应用程序的运行过程,HTML/,脚本网页,WEB,服务器,客户机,服务器资源,编译的
10、后置代码和,HTML,文件,过滤器,aspnet_isapi.dllHttpModuleHttpHandler,请求,调用,运行结果,转换成客户端,HTML/,脚本,解释并运行,IIS,Windows,Internet,用户端,基于,ASP.NET,的,Web Site,构架,显示文件,录入数据,产生,Submit,事件,Form,中的,Object、,Action(CGI,文件),VB/C#/VC,HTML,文本,运行,JavaScript,或者,VBScript,DBMS,CORBA,Remote,*.,Aspx.cs,文件,VB/C#,HTML,操作服务器端控件产生服务器段事件,,调用服
11、务器端事件处理函数,2.HTML,初步,虽然,html,的内容很多,但是常用的并不多,掌握基本的内容可以应付大多情况。,进一步的内容可以在今后的使用中查找资料现学现用。,可以到,Html,简介,HTML,:,H,yper,T,ext,M,arkup,L,anguage,,超文本标记语言。,通过超文本传输协议(,HTTP,:,Hypertext Transport Protocol,),使用(,URL,:,Uniform Resource Locator,)来定位网络文件、站点或服务器。,HTML,本质上不是程序语言,而是一种标记语言。,所谓,标记,(标签、,Tag,),实际上是用一些固定的符号
12、表示某种含义,而浏览器具备解释各种这些标记的能力。,注意,,html,使用的标记都是,事先定义好的,。但是浏览器并不对,html,语法做严格检查,对于有错误无法解释执行的部分会忽略。,例如:,这是一个标记,表示用,1,号字体显示这段文字,用,html,语言写的文档即为,html,文档,使用,html,或,htm,扩展名。,Html,不区分大小写,但一般都使用小写,但在本文中为了醒目,往往使用了大写。,可以使用任何文本编辑器编写。,HTML,的基本结构,其基本结构分为三部分:,版本声明(,Prologue,),头部(,Head,),主体(,Body,),其中,主要部分是头部和主体。,例如,这里写
13、网页的标题,这里是网页的主体(显示在浏览器窗口中的部分),我是一个标记,表示用,1,号字体显示一个标题,Html,标记格式,HTML,标记也经常称为元素,(HTML Element),,因为很多时候用来标记一些类似于对象的东西,比如按钮。,标记的格式:,标记一般成对出现:,这里插入内容,为了防止忘记写结束标记符,可采用成对书写,然后在中间插入的写法,。,Html,标记格式,放在,HEAD,标记内的信息一般不显示在浏览器的窗口中,通常这里面用来定义,JavaScript,函数,还可以包含,JavaScript,代码文件(,js,文件)、层叠样式表(,CSS,:,Cascading Style S
14、heets,)文件等一些预处理工作。,BODY,标记内通常放上需要表示或展示内容的标记格式。,HTML,中的注释,第一种格式:,。,其中,注释内容中不可出现“,”,,常用于说明标记里的内容;,第二种格式:,。,其中,注释内容中可包括“,”,在内的任何符号,常用于注释大段的内容。,HTML,元素的属性,元素可以拥有属性。属性可以扩展,HTML,元素的表现能力。,比如你可以使用一个,bgcolor,属性,使得页面的背景色成为红色,如:,属性通常由属性名和值以,name=“value”,的形式成对出现,属性值一般用双引号括起来。,属性通常是附加给,HTML,的,Opening Tag,,而不是,Cl
15、osing Tag,。,2.2,常用的简单标记,(1),基本标记(,Basic Tags,),定义整个超文本文档(网页)对象,描述,Web,页面的起始与终止。,设置页面的头部分,用来包含当前文档的一些相关信息。如定义样式、网页的标题、网页中使用的脚本语言以及对搜索引擎有帮助的关键字。,用来指明文件的标题,其内容将显示在浏览器的标题栏内,设置它的好处:可为下载时提供默认的文件名;可为搜索引擎提供搜索关键字等。,放置,Web,页面的正文内容,包含文件内的文字、超链接文字的颜色、背景色彩、图片、动画、影像、音效等几乎所有对网页的展示功能。,用来介绍与文件内容相关的信息。每一个,标记用于指明一个名称或
16、数值对,,常常放在头部标记中,。,(2),文本、字符格式,(,Text&Char Format,),标题文字(,n=16,),换行标记,段落标记。注意:浏览器会忽略你输入的换行,多个空格也只看做是,1,个。,用,换行是个坏习惯,正确的是使用,。,水平线标记,字体标记,要显示的文字,设置字符串的字体、大小、颜色,颜色名:,red,、,green,、,blue,、,yellow,、,black,、,white,等。,颜色值:格式为,#rrggbb,,其中,,r,、,g,、,b,分别用十六进制数表示的红、绿、蓝三种颜色,如,#FF0000,表示红色,而,#6CB0A6,表示一种青色。,字符格式标记,
17、粗体,bold ,斜体,italic ,文字当中划线表示删除,加下划线,着重强调,:和粗体差不多,定义上标,定义下标,缩进表示引用,保留空格和换行等原始输入格式。有时这个很有用,方便!,表示计算机代码,等宽字体,。,(3),HTML,特殊字符显示,有些字符在,HTML,中有特别含义,如“,”,是标记的开始,不显示在我们最终看到的网页里。但有时我们希望在网页中显示一个,号。,这就要使用,HTML,字符实体,(Character Entity),。,一个字符实体分成三部分:第一部分是一个,&,符号,;第二部分是,实体名,、或者是,#,加上实体编号,;第三部分是一个,分号,。,比如,要显示小于号,就
18、可以写,或者,。,注意:实体名是区分大小写的,。,最常用的字符实体,显示结果,说明,Entity Name,Entity Number,一个空格,大于,&,&,符号,双引号,(4),超链接(,Hyperlink,),标记,表示一个超链接元素。,超链接的属性主要有超链接地址、超链接文件打开的窗口位置,都在其开始标记中定义。,例如:,山东大学,其中,,href,即超链接地址,,target,即窗口位置,值,_blank,表示将在一个新浏览器的窗口中显示。,(5),表格(,Table,),表格几乎是页面中最常用的元素,可以用来精确定义页面文本或图片等的排版格式、排版布局,使之整齐美观。,表格最基本的
19、三个标记是:,定义一个表格,定义表格内的一行,定义一行内的一个单元格,表格的主要属性,cellpadding=,数值:单位是像素,内容与边框的距离,(,默认为,2),cellspacing=,数值:单位是像素,单元格间的距离,(,默认为,2),border=,数值:单位是像素,定义表格边框宽度,Bordercolor=,:边框颜色,Bordercolorlight=,:边框明亮面的颜色,Bordercolordark=,:边框暗淡面的颜色,表格的主要属性,width=,数值:单位是像素或百分比,定义表格宽度,Height=,:定义表格高度,background=,图片链接地址,定义表格背景图,
20、Colspan=,,单元格跨越多列,Rowspan=,,单元格跨越多行,Align=,值:水平对齐方式,Valign=,值:垂直对齐方式,Bgcolor=,:背景色,上述属性有的只能用在表格标签中,有的也可用在行或单元格中。,表格中还可以合并单元格,也可嵌套表格,单元格中既可以是文本,也可以是其他元素标记。,下面的例子显示了一个表格,这是一段,这是另外一段。,这个单元格里包含了一个表格:,A,B,C,D,这个单元格里包含了一个图片:,HELLO,(6)HTML,框架,(Frames),使用框架,(,Frame,),,可以在浏览器窗口同时显示多个,网页,。每个,Frame,里设定一个网页,每个,
21、Frame,里的网页相互独立。,标记:,决定如何划分,Frame,。,最主要的属性是,cols,和,rows,属性。使用,cols,属性,表示按列分布,Frame,;使用,rows,属性,表示按行分布,Frame,。,其他一些属性如可以设置边框宽度等。,设置,Noresize,属性为,noresize=noresize,,可以确保,Frame,不能通过拖拉鼠标改变大小。,标记,用,标记指定网页。,里有,src,属性,,src,值就是网页的路径和文件名。,下面的代码将,Frameset,分成,2,列,第一列,25%,,表示第一列的宽度是窗口宽度的,25%,;第二列,75%,,表示第二列的宽度是窗
22、口宽度的,75%,。第一列中显示,a.html,,第二列中显示,b.html,。,标记,有时我们希望在一个页面中嵌入另一个页面,使用,可以将一个页面置于一个,HTML,文件内。,例子:,frameDemo,2.3,表单及,HTML,控件(组件),表单(,Form,),HTML,表单,(Form),是,HTML,的一个重要部分,主要用于采集和提交用户输入的信息。,当向服务器提交信息时,会将表单内的所有信息打包发送到服务器。,用标记,标记表单的范围。,表单要掌握以下三方面内容,(,1,),Action,:表单的信息提交到服务器后,总是需要程序来进行处理,,action,就指明了处理表单信息的文件。
23、2,),Method,:表示发送表单信息的方式。,Method,有两个值:,get,和,post,。,get,方式将表单控件的,name/value,信息经过编码之后,通过,URL,发送,(,可以在地址栏里看到,比如,google,的例子,),。,不适合传输大量的数据。,post,则将表单的内容通过,http,发送,你在地址栏看不到表单的提交信息。,如果只是为取得和显示数据,一般用,get,;一旦涉及数据的保存和更新,建议用,post,。,(,3,),表单控件,(Form Controls),:,表单中可以容纳很多控件,如文本框、按钮、单选与多选,下拉列表等。,简单的例子,一个让用户输入
24、姓名的,HTML,表单,(Form),:,请输入你的姓名:,说明:无论是表单还是表单控件,如果程序中需要定位具体的控件,可以通过,name=”XXX”,或,id=”XXX”,的形式进行标识。,input,标记,是表单控件中最重要的一个,.,它其实对应,多个控件,,由属性,type,进行区别。,如,type=”text”,就是一个单行文本输入框。,Type,属性可将控件显示为 输入型、选择型、点击型共三类。,Type,属性的主要取值及对应控件,text,:文字输入域,(,输入型,),password,:也是文字输入域,但是输入的文字以密码符号,*,显示,(,输入型,),file,:可以输入一个文
25、件路径,(,输入型,),checkbox,:复选框,可以选择零个或多个,(,选择型,),radio,:单选框,只可以选择一个而且必须选择一个,(,选择型,),hidden,:隐藏域,可以传送一些隐藏的信息到服务器,Type,属性的主要取值及对应控件,button,:按钮,(,点击型,),image,:使用图片来显示按钮,使用,src,属性指定图像的位置,(,就像,img,标签的,src,屬性,)(,点击型,),submit,:提交按钮,表单填写完毕可以提交,把信息传送到服务器。可以使用,value,属性來显示按鈕上的文字,(,点击型,),reset,:重置按钮,可以把表单中的信息清空,(,点击
26、型,),input,的常用属性,有些属性只针对个别的类型,value,:输入域的值,size,:输入域的长度,maxlength,:,输入域最多可输入文字的长度,checked,:如果是选择型的输入域,代表已经被选择,readonly,:输入域可以选择,但无法修改,input,的常用属性,disabled,:输入域无法获得焦点,无法选择,以灰色显示,在表单中不起任何作用,accesskey,:表单的快捷键访问方式,tabindex,:输入域的,tab,键遍历顺序,src,:当使用图片来表示按钮时,代表图片的位置,(URI),alt,:代表表单的提示文字,当鼠标停留时,例子:,inputDemo
27、html,其它控件标记,(,1,),多行文本标签,定义可多行输入的文本输入控件,文本区中可容纳无限数量的文本。,可以通过,cols,和,rows,属性来规定,textarea,的尺寸。,例如,你可以在这里输入长篇大论。,(,2,),下拉列表标签,标签定义一个下拉列表,在标记中插入,标记表示选择项。例如:,Volvo,Fiat,其中,指定,selected=selected“,属性的项为默认的选项。,2.4,事件,当对表单或表单元素进行操作时,会产生相应的事件。,浏览器中都内置有大量的事件处理器。这些处理器会监视特定的条件或用户行为,例如鼠标单击。,通过使用客户端的,JavaScript,,可
28、以将某些特定的事件处理器作为属性添加给特定的标签,并可以在事件发生时执行一个或多个,JavaScript,命令或函数。,下面简单例举一些常用的事件,如何处理事件在,JavaScript,部分再进行介绍。,窗口事件,(Window Events),仅在,body,和,frameset,元素中有效。一般可以在这里做初始化,onload,:当载入页面时执行脚本,onunload,:当卸载页面时执行脚本,表单元素事件,(Form Element Events),仅在表单元素,Form,中有效。,onsubmit,:当表单被提交时执行脚本。,最重要的一个事件,通常在提交表单时要做些预处理,比如检查用户输
29、入,可以在此事件进行处理。,onreset,:当表单被重置时执行脚本,onselect,:当元素被选取时执行脚本,键盘事件,(Keyboard Events),一般在表单及表单元素中有效。,onkeydown,:当键盘被按下时执行脚本,onkeypress,:当键盘被按下后又松开时执行脚本,onkeyup,:当键盘被松开时执行脚本,鼠标事件,(Mouse Events),一般在表单及表单元素中有效。,onclick,:当鼠标单击时执行脚本,ondblclick,:当鼠标双击时执行脚本,onmousedown,:当鼠标按钮按下时执行脚本,onmousemove,:当鼠标指针移动时执行脚本,onm
30、ouseout,:当鼠标指针移出时执行脚本,onmouseover,:当鼠标指针悬停于某元素之上时执行脚本,onmouseup,:当鼠标按钮被松开时执行脚本,练习,做一个登录页面,login.html,可输入用户账号、密码。,如果你登陆时要区分用户类型,再加上单选或下拉列表。,有登录及重置按钮。,3.JavaScript,简介,JavaScript,是什么?,JavaScript,是一种脚本语言(解释运行而非编译),可以嵌入到,HTML,文档中并经浏览器解释执行。,是一种,客户端,的动态网页技术,能使网页增加互动性、及时响应用户的操作、对提交表单做即时的检查等。,任何可以编写,HTML,文档的
31、软件都可以用来开发,JavaScript,。,Java,与,JavaScript,有什么不同,不要想当然地看到,Java,和,JavaScript,都有“,Java”,,就认为它们有什么亲戚关系,其实它们是完完全全不同的两种东西。,其实当初他也不叫这名,后来傍名人才叫做,JavaScript,。,当然,叫这名也是有一点道理的,因为它在语法结构等方面与,Java,很类似,有,Java,的基础你将很容易学习,JavaScript,。,3.1 JavaScript,语言基础,(,1,),在什么地方插入,JavaScript,JavaScript,几乎可以出现在,HTML,的任意地方。,使用,标记,你
32、可以在,HTML,文档的任意地方插入,JavaScript,。,不过如果要在声明框架的网页中插入,就一定要在,之前插入,否则不会运行。,(,2,)基本格式,.(JavaScript,代码,).,另外一种插入,JavaScript,的方法,是把,JavaScript,代码单独写到一个文件当中,此文件应该用“,.js,”,作扩展名。,然后用格式为,的标记把它嵌入到文档中。,(3)JavaScript,的语句及语法结构,注意,虽然,HTML,不区分大小写,但是,JavaScript,是区分大小写的,!,注释:,JavaScript,和,java,的注释类似,单行注释为“,/”,,而多行注释是用“,/
33、和“*,/”,。,语句:是语言的基本单位,同样是用一个分号“,;”,作为 语句结束的标识符。,JavaScript,的语法几乎和,java,一样,像变量命名、赋值、基本运算、函数的声明及调用、各种逻辑结构等等。,而且在某些方面进行了简化(例如函数的说明、数字等),使用起来更灵活、方便。,比如:,for(i=1;i 10;i+)document.write(i);,和,java,的写法完全一样。,变量及声明,变量需要声明,没有声明的变量不能使用。,格式为:,var,=;,例如:,var strNamr=,张三,;,注意:声明变量不用指出数据类型,其实就是指定了类型也没用。,在实际执行时会根
34、据情况自动处理。,数据类型,由于,JavaScript,对数据类型不进行严格的限制(从声明变量就可看出),所以我们实际使用时也很少关注变量的具体类型。,你可以简单地看待为“数值”、“字符串”和“,boolean”,三大类即可。,特别:字符串需要用引号括起来,,JavaScript,中既可以用单引号,也可以是双引号。,但是,用哪种引号开始就要用哪种结束,,而且单双引号可嵌套使用,这主要是为了方便,避免频繁使用转义字符。,例如:,这里是,JavaScript,教程,。,JavaScript,的特殊常量,null,:一个特殊的空值。当变量未定义,或者定义之后没有对其进行任何赋值操作,它的值就是“,n
35、ull”,。,企图返回一个不存在的对象时也会出现,null,值。,NaN,:“,Not a Number”,,当运算无法返回正确的数值时,就会返回“,NaN”,值。,NaN,值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至,NaN,本身也不等于,NaN,。,数组,最简单的方式,声明变量时直接赋值:,var myArray=1,Tom,22,tom11 ;,请仔细看看这里和,java,有何不同之处。,也可以先声明一个空数组对象,以后再添加数组元素:,var =new Array();,还可在定义数组的时候直接初始化数据:,var =new Array(,.);,例如,,var myA
36、rray =newArray(1,4.5,Hi);,函数,可以声明自己的函数供调用。定义函数用关键字,function,进行声明:,function,函数名,(,参数集,),.,return ;,注意:,不需要对返回类型进行说明,,如果有返回值,在函数体内直接用,return,语句返回。,在执行一个函数的时,碰到,return,语句,函数立刻停止执行,并返回到调用它的程序中。,函数的参数,参数集可有可无,同样也不在乎参数的类型。,例如:,function addAll(a,b,c),return a+b+c;,调用:,var total=addAll(3,4,5);,调用语句和函数声明并不需要
37、同在一个,范围之内,只要在同一页面(或引入的,js,文件中),都可调用。,3.2,文档对象,DOM,文档对象模型,DOM(Document Object Model),是,Web,编程中一个比较重要的概念。,深刻理解,DOM,需要对,XML,有所了解,请仔细想一下,HTML,文档的结构,其实就是一系列标记的嵌套,它们构成树形结构。,简单地可以将,DOM,理解为用,xml,结构的文档来描述一个页面对象的结构。,我们用,JavaScript,(其实任何一种页面编程语言)对网页进行的所有操作,都是通过,DOM,进行的。,下图是,DOM,对象树结构所包含的对象,图中有些对象名是全小写的,有些是以大写字
38、母开头的。,以大写字母开头的对象,引用该类的具体对象时,不使用类名,而用该对象实例的“名字”(,Id,或,Name,),或用它所属的对象数组指定。,例如:某名为“,applicationForm”,的表单中,有一名为“,textName”,的文本框,引用该文本框时,要用“,document.applicationForm.textName”,。,DOM,中比较重要的对象,navigator (,浏览器对象,),可获取当前使用的浏览器的资料。,属性:,appName,:返回浏览器名。,IE,返回,Microsoft Internet Explorer,。,appVersion,:返回浏览器版本,
39、包括了大版本号、小版本号、语言、操作平台等信息。,platform,:返回浏览器的操作系统平台。,userAgent,:返回以上全部信息。,screen (,屏幕对象,),获取当前用户的屏幕设置。,属性:,width,:返回屏幕的宽度(像素数)。,height,:返回屏幕的高度。,availWidth,:返回屏幕的可用宽度(除去了一些不自动隐藏的类似任务栏的东西所占用的宽度)。,availHeight,返回屏幕的可用高度。,window (,窗口对象,),“,最大,”,的对象,它描述的是一个浏览器窗口。是我们关注的,页面内容的根,。,由于是根,一般引用它的属性、方法或下级时,不需要用“,win
40、dow.xxx”,这种形式,而直接使用“,xxx”,。,一个框架页面也是一个窗口。,window,对象的属性,status,:指窗口下方的“状态栏”所显示的内容。通过对,status,赋值,可以改变状态栏的显示。,opener,:返回打开本窗口的,窗口对象,。,如果窗口不是由其他窗口打开的,在,IE,中返回“未定义”(,undefined,)。,self,:指窗口本身,最常用的是“,self.close()”,,放在,标记中:“,关闭窗口,”,。,parent,:返回窗口所属的框架页对象。,window,对象的方法,open(),:打开一个窗口。,用法:,open(,);,其中:,描述窗口中显
41、示哪一个网页。如果留空(,),则不打开任意网页。,:被打开的窗口的名称(,window.name,),可以使用,_top,、,_blank,等内建名称。这里的名称跟“,”,里的“,target”,属性是一样的。,:描述被打开的窗口的外观。如果只需要打开一个普通窗口,该字符串留空(,),如果要指定外观,就在字符串里写上一到多个参数,参数之间用逗号隔开。,例:打开一个,400 x 100,的空白的窗口,open(,_blank,width=400,height=100,menubar=no,toolbar=no,location=no,directories=no,status=no,scroll
42、bars=yes,resizable=yes);,open(),方法有返回值,返回的就是它打开的窗口对象。如:,var newWindow=open(,_blank);,这样把一个新窗口赋值到“,newWindow”,变量中,以后通过“,newWindow”,变量就可以控制这个窗口了。,window,对象的方法,resizeTo(),:,.resizeTo(width,height),;,窗口调整大小到宽,width,像素,高,height,像素。,resizeBy(),:,.resizeBy(deltaWidth,deltaHeight),;,调整窗口大小,宽,增大,deltaWidth,像
43、素,高,增大,deltaHeight,像素。如果取负值,则减少。,alert(),:,alert(),;弹出一个只包含“确定”按钮的对话框,显示,的内容。,对话框关闭前,整个文档的读取、,Script,的运行都会暂停,直到用户按下“确定”。,confirm(),:,confirm(),;弹出一个包含“确定”和“取消”按钮的对话框,显示,的内容,要求用户做出选择。,整个文档的读取、,Script,的运行都会暂停。如果用户按下“确定”,则返回,true,值,如果按下“取消”,则返回,false,值。,prompt(),:,prompt(,),;,弹出一个包含“确认”“取消”和一个文本框的对话框,显
44、示,的内容,要求用户在文本框输入一些数据。,整个文档的读取、,Script,的运行都会暂停。,如果用户按下“确认”,则返回文本框里已有的内容,如果用户按下“取消”,则返回,null,值。如果指定,,则文本框里会有默认值。,history,(历史对象),指浏览器的浏览历史。,限制在用浏览器的“前进”“后退”键可以到达的范围。,方法:,back(),:后退,跟按下“后退”键是等效的。,forward(),:前进,跟按下“前进”键是等效的。,document,(文档对象),重要!,描述当前窗口或指定窗口对象的文档。,它包含了文档从,到,的内容,所以我们页面中的元素都在该对象之下。,虽然该对象很重要,
45、但我们实际不常直接使用该对象的属性或方法,我们对其下属的对象更感兴趣。,所以不过多介绍该对象的属性和方法,只介绍几个操作,document,对象的重要方法。,document,对象的方法,write();writeln(),方法:向文档对象中写入数据,所写入的内容会当成标准文档,HTML,来处理。,clear(),:清空当前文档。,close(),:关闭文档,停止写入数据。,如果用了,writeln(),或,clear(),方法,就一定要用,close(),方法来保证所做的更改能够显示出来。,如果文档还没有完全读取,也就是说,,JavaScript,是插在文档中的,则不必使用该方法。,一个弹出
46、式窗口的例子,将下列代码写为一个函数并调用:,var whatsNew=open(,_blank,top=50,left=50,width=200,height=300,menubar=no,toolbar=no,directories=no,location=no,status=no,resizable=no,scrollbars=yes);,whatsNew.document.write(,更新通知,);,whatsNew.document.write(,最后更新日期:,2012.12.01);,whatsNew.document.write(2012.12.01,:学院网站新增了获本学年
47、奖学金学生名单,请及时查看。,);,whatsNew.document.write(,关闭窗口,);,whatsNew.document.close();,forms;Form,(表单对象),document.forms,是一个数组,包含了文档中所有的表单(,)。,要引用单个表单,可以用,document.formsx,。,但是一般我们都会这样做:在,标记中加上,name=“.”,属性,那么直接用“,document.”,进行引用。,Form,对象的属性,name,:返回表单的名称,也就是,属性。,action,:返回,/,设定表单的提交地址,也就是,属性。,method,:返回,/,设定表单
48、的提交方法,也就是,属性。,target,:返回,/,设定表单提交后返回的窗口,也就是,属性。,encoding,:返回,/,设定表单提交内容的编码方式,也就是,属性。,Form,的方法与事件,方法,:,reset(),:重置表单。这与按下“重置”按钮是一样的。,submit(),:提交表单。这与按下“提交”按钮是一样的。,事件,:,onclick,、,onsubmit,、,onmouseover,、,onmouseout,、,onmousedown,、,onmouseup,等,表单下的控件对象,以下介绍的都是表单中的元素对象。,像它们公有的一些属性如,name,属性,这里统一介绍,就不在每个
49、对象中重复介绍了。,属性:,name,:返回,/,设定用,指定的元素名称。,value,:返回,/,设定用,指定的元素的值。,form,:返回包含本元素的表单对象。,Checkbox,复选框对象,由“,”,指定。,属性:,checked,:返回,/,设定该复选框对象是否被选中。为布尔值。,defaultChecked,:返回,/,设定该复选框对象默认是否被选中。为布尔值。,事件:,onclick,Hidden,隐藏对象,由“,”,指定。,属性:,Value,:返回,/,设定用,指定的元素的值。,输入型对象,Password,、,Text,和,Textarea,这三个对象的所有属性、方法和事件都
50、一样,主要的为:,属性:,Value,:返回,/,设定输入区当前的值。,defaultValue,:返回用,指定的默认值。,方法:,select(),:选中输入区里全部文本。,事件:,onchange,:当文字内容发生改变时。,Radio,单选域对象:由“,”,指定。,一组,Radio,对象有共同的名称(,name,属性),这样的话,,document.formName.radioName,就成了一个数组。要访问单个,Radio,对象就要用:,document.formName.radioNamen,。,属性:,checked,:返回,/,设定该单选域对象是否被选中。布尔值。,defaultC






