第9章 在Web中使用JavaScript.docx
《第9章 在Web中使用JavaScript.docx》由会员分享,可在线阅读,更多相关《第9章 在Web中使用JavaScript.docx(24页珍藏版)》请在冰豆网上搜索。
第9章在Web中使用JavaScript
第9章在Web中使用JavaScript
第9章在Web中使用JavaScript1
9.1简介1
9.2把JavaScript添加到表单中2
9.2.1编写JavaScript2
9.2.2把JavaScript添加到Domino表单中4
9.3JavaScript在域中的应用6
9.3.1验证域6
9.3.2计算域的值7
9.3.3显示域相关的帮助8
9.4使用JavaScript显示对话框10
9.4.1学习内容表单10
9.4.2对话框视图11
9.5Domino产生的JavaScript13
9.1简介
现在很多人都对JavaScript有所了解。
它是面向对象的一种语言,由Netscape公司开发出来,语法类似于Java,但并不完全一样,它在客户机上执行,它并不支持那种真正的面向对象的语言所支持的特别复杂的特性,如多态和继承,而且它几乎独立于Web的开发工具存在。
JavaScript赖以成名的特性是其将原来必须由服务器完成的功能交由客户机代替,但是这与Domino又有什么关系呢?
任何Web服务器都能容纳包含JavaScript代码的HTML网页。
如果你使用了Domino,你就可以使用所有的Domino开发工具,包括由公式决定的隐藏属性、计算域、视图列公式、CGI域等,使用这些工具你可以创建动态JavaScript。
而且Domino与JavaScript的优势联合起来可以使你的Web应用程序功能更为强大
考虑以下脚本,当用户点击某个按钮,根据用户的浏览器类型,你可以把用户转向到另一个URL。
在此,我们可以使用下面的方法完成这个功能。
functiongoThere(){
browser=navigator.appName;
if(browser=="MicrosoftInternetExplorer"){
url="/msie.html";
}elseif(browser=="Netscape"){
url="/nn.html";
}else{
url="/other.html";
}
self.location=url;
}
在这个例子中,所有的条件由JavaScript定义。
现在,我们看第二个例子,由Domino开发:
functiongoThere(){
self.location="[<计算的值>]";
}
在这个例子中,<计算的值>由下面的公式返回:
app:
=HTTP_USER_AGENT;
@If(@Contains(app;"MSIE");"/msie.html";@Contains(app;"Mozilla");"/nn.html";"/other.html");
由于我们使用Notes公式计算URL,JavaScript语句数量被大幅度减少。
我们所关心的就是:
首先,这意味着用户只需要下载较少的JavaScript。
在这个简单的例子中其区别并不明显,但随着例子复杂性的增加,更少的代码对加快下载速度至关重要。
其次,这意味着我们只需要调试更少的源程序代码,从而使我们的JavaScript程序拥有良好的可读性。
请注意这样一个事实,服务器端的脚本语句要比客户机端的脚本语句的安全性好得多。
用户常常可以在其浏览器中关闭JavaScript程序的运行,可以看到JavaScript程序的源代码(并可以随意改变本地的副本)。
但是用户不能访问服务器上的JavaScript程序,更不能绕过这些程序的运行。
9.2把JavaScript添加到表单中
9.2.1编写JavaScript
在编写JavaScript语句时可以把你的代码直接插入网页中的下面的标识符之间:
--
……
//-->
在浏览器中,可以通过JavaScript代码获取和修改Html各种对象的属性。
在浏览器中获得一个表单的名称,你可以使用下面的代码:
varformName=document.forms[0].name;
Html对象除了有各种属性外,还有事件,我们可以使用JavaScript为这些事件编写代码,时间触发时执行这些代码。
例如,当用户把鼠标移到链接上后,先是一个对话框。
');">MyFile
关于JavaScript和Html的详细知识,请参考其它书籍。
下面是常常被用来触发JavaScript函数的事件。
●按钮对象的点击事件。
●文档对象的装载事件。
●选定对象的改变事件。
●文本域的得到和失去焦点事件。
一个HTML按钮使用类型属性为按钮的标签来定义。
下面的HTML定义了一个按钮标签,当点击时,触发onClick事件,调用doSomething函数:
当网页被下载在浏览器装载完毕时,一个HTML文档的装载事件被触发。
装载事件由HTML的
标签的onLoad()定义,例如:
functionMyFunction(){
alert(“yeah!
”);
}
你还可以在标签之间调用Myfunction()函数来完成同样的任务。
例如
functionMyFunction(){
alert(“yeah!
”);
}
MyFunction();
和onLoad不同的是中的不在函数中的代码,当页面装载时立即执行。
一般把它放在页面的
标签中,不要把它放在页面的下部。
而
标签中的onLoad是在页面装载完毕时执行。
一般情况下,当域中的值改变时,会触发onChange事件,我们可以在其中编写JavaScript代码处理事件。
对于文本域,Domino把它转换成标签,当文本域得到焦点时,触发获得焦点事件onFocus,当文本域失去焦点时,触发onBlur事件。
为了更好的控制Html中的对象,必须了解其对象模型,Designer的主页给出了这个模型。
图表1JavaScript对象模型
9.2.2把JavaScript添加到Domino表单中
把JavaScript添加到表单中有几种方式:
1)把JavaScript代码写在