|
关于使用这个事件的内容,详见Visual InterDev在线文档中的“Scripting
withDesign-Time Controls and Script Objects”(用设计期间控件和脚本对象编写脚本)。
注意:
这些事件只适应于“Scripting Object Model”(脚本对象模型)。对于适用于设计
期间控件的属性列表,参见本手册前边的“设计期间控件属性”(Design-Time Controls Properties)
ONAFTERUPDATE事件
在一个记录之后出现更新。
适用于
Recordset脚本对象
语法
objRS_onafterupdate
参量
object
一个Recordset脚本对象。
说明
在Recordset脚本对象上成功调用UpdateRecord方法之后激发这个onafterupdate事件。可以使用这个功能在更新之后向用户传送辅助信息。
举例 function myRS_onafterupdate () { var ID; ID="Your record has been updated. The ID is"+myRS.fields.getValue("id"); Label.setCaption(ID); }
ONBEFOREOPEN事件
刚好在一个Recordset对象打开之前出现。
适用于
Recordset脚本对象
语法
objRS_onbeforeopen
参量
object
一个Recordset脚本对象。
说明
任何时候打开一个记录,都可以像设计期间表示的那样自动地,也可能通过这个打开
方法,调用这个onbeforeopen事件。如果希望改变记录集的SQL语句,或设置参量,这个事件很有用。
欲规定自动打开一个记录集,就选择Recordset设计期间控件的PropertyPages对话框的Implementation标签卡上的Automatically open the Recordset(自动打开记录集)选项。
举例
下边是简单的服务器脚本(ASP)。 function myRS_onbeforeopen( ) { myRS.setParameter(1, "ParameterValue"); //parameter for stored procedures are 1-based ( the 0 parameter // stores the Return Value) }
ONBEFORESERVEREVENT事件
在一个窗体传递给服务器之前出现。只用于客户脚本。
适用于
PageObject脚本对象
语法
object_onbeforeserverevent (strName, strEvent)
参量
object
一个PageObject脚本对象。
strName
激发事件的一个对象。
StrEvent
事件名字。
说明
这个事件在窗体传递给服务器去处理一个客户事件之前出现。
要取消传递窗体,就把cancelEvent属性置为True。
注意:
虽然这是一种隐含事件,然而只有javascript事件处理程序将被隐含调用。如果使用Microsoft Visual Basic, Scripting Edition(VBScript)事件处理程序,就必须注册这个采用先进方法的事件处理程序。
举例
下边是在删除按钮时,如何俘获按钮单击事件的例子。这个脚本提示用户在删除处理之前对删除给予确认。 < SCRIPT LANGUAGE = "javascript" > function thisPage_onbeforeserverevent( obj, event ) {if (obj == "btnDelete") { if (event == "onclick"} { if (confirm( "Are you sure you want to Delete?")) { alert( "Deleted per your request"); } else { alert ( "Delete cancelled"); thisPage.cancelEvent = true; } } } } < /SCRIPT >
ONBEFOREUPDATE事件
当更新一个记录的时候,在一个记录之前出现更新。
适用于
Recordset脚本对象
语法
objRS_onbeforeupdate
参量
object
一个Recordset脚本对象。
说明
在UpdateRecord方法已经调用之后,但是在Recordset脚本对象上实际出现更新之前,激发这个onbeforeupdate事件。可以使用这个功能在更新之前验证数据。
举例 sub myRs_onbeforeupdate( ) if trim(myRs.fields.getValue( "FirstName")) = "" then Label.setCaption( "First Name is a required field.") MyRs.CancelUpdate( ) end if snd sub
ONCHANGE事件
当用户对一个列表框、选项组或文本框作出改变时出现的事件。
适用于
Listbox脚本对象, OptionGroup脚本对象, Textbox脚本对象
语法
object_onchange
参量
object
一个Listbox、OptionGroup或Textbox脚本对象。
说明
对于Listbox(列表框)对象而言,只要列表中另外一项被选择就立即出现这个事件。
对于OptionGroup(选项组)和Textbox(文本框)对象而言,这个事件在用户修改选项组或文本框时出现,随后焦点从这个元素离开。例如,用户选择选择组中的一个选项,这个事件并没有因选择而激发。这个onchange事件只在用户另外再选择一些事情时才激发,例如再选择一个按钮、另外的选项或页面本身。
onCLICK事件
当用户点击一个按钮或一个复选框时出现的事件。只用于客户脚本。
适用于
Button脚本对象,Checkbox脚本对象.
语法
object_onclick
参量
object
一个Button或Checkbox脚本对象。
说明
对于按钮对象来说,当用户用鼠标器或空格键按这这个事件是在按钮按下再抬起时出现的。
注意:
对于由RecordsetNavbar对象创建的按钮,要使用onfirstclick、onlastclick、onnextclick和onpreviousclick事件。
举例
下边是在删除按钮时如何俘获按钮点击事件的例子。这个脚本在处理删除之前提示用户对删除给予确认。 < SCRIPT LANGUAGE = "javascript" > function thisPage_onbeforeserverevent( obj, event ) {}if (obj == "btnDelete") { if (event == "onclick") { if (confirm( "Are you sure you want to Delete?")) { alert( "Deleted per your request"); } else { alert ( "Delete cancelled"); thisPage.cancelEvent = true; } } } } < /SCRIPT >
下边的简化脚本是一个服务器方onclick事件处理程序,它将触发复选框的检查状态。 Sub mybutton_onclick( ) If checkbox1.getChecked ( ) then Checkbox1.setChecked(0) Else Checkbox1.setChecked(1) End if End Sub
ONDATASETCHANGED事件
Recordset对象出现改变时出现的事件。
适用于
Recordset脚本对象
语法
objRS_ondatasetchanged
参量
object
一个Recordset脚本对象。
说明
这个ondatasetchanged事件在下述两种情况中激发:
· 请求一个新数据组之后
·当前数据组改变之后(例如添加或删除)
事件出现时,数据可能不能使用,但是记录集可以用来获得数据组的元数据
(metadata)。元数据包含字段列表和它们的类型。Web作者可以使用元数据创建真正的动态页面。
引起改变Recordset对象的方法包括addRecord、deleteRecord和updateRecord方法。
举例
下边的简单脚本把由DSO提供的字段列表加到一个下拉列表cboSort上。当用户选择这个下拉列表中的一项的时候,数据便由选择的字段进行分类。
这个脚本为Recordset名字myRS处理ondatasetchanged事件, Sub myRS_ondatasetchanged( ) dim iCount for iCount = 0 to myRS.fields.getCount( ) -1 lstFieldList.addItem myRS.fields.getName(iCount) next End Sub
ONDATASETCOMPLETE事件
Recordset完成从服务器下载时出现的事件。
适用于
Recordset脚本对象
语法
objRS_ondatasetcomplete
参量
object
一个Recordset脚本对象。
说明
当一个Recordset把它的数据都暂存到客户机上(当脚本平台是IE 4.0时),或者当这个Recordset完全可用时(在ASP中)就激发这个ondatasetcomplete事件。所有这些数据都可通过Recordset脚本对象以程序方式进行访问。当在IE4客户机上绑定数据时,这个函数尤其有意义,因为按照默认设置,数据是异步的;人们却可能希望在进行某个具体操纵之前所有数据都传输完毕。
举例 Sub myRS_ondatasetcomplete( ) 'assuming there is at least one row of data myRS.movelast( ) mybox "The first column of data in the last row is" & myRS.fields.getValue(0) End Sub
ONENTER事件
在服务器上从ASP页面开始处进行处理时出现的事件。只用于服务器脚本。
适用于
PageObject脚本对象
语法
object_onenter
参量
object
一个PageObject脚本对象。
说明
在一个ASP刚刚开始在服务器上进行处理时出现这个onenter事件。当用户导航到这个页面时,以及这个页面每次传递给服务器时就会出现这种情况。
在目标是客户(IE 4.0 DHTML)脚本平台时,窗口装载事件可以用来实现onenter在服务器上提供的同类型的初始代码程序。
举例
在下边的例子中,事件处理程序把项加到名为Listbox1的已经存在的Listbox象上,并且thisPage每次开始在服务器上处理时就把默认选择设置为“Cars”。 Function thisPage_onenter( ) { if (thisPage.firstEntered) { ListBox1.addItem( "Cars", 1 ); ListBox1.addItem( "Planes", 2 ); ListBox1.addItem( "Trains", 3 ); ListBox1.selectByValue( 1 ); } }
onEXIT事件
在ASP页面结束在服务器上处理时出现的事件。只用于服务器脚本之中。
适用于
PageObject脚本对象
语法
object_onexit
参量
object
一个PageObject脚本对象。
说明
在服务器上结束ASP页面的处理时出现onexit事件。当用户导航到这个页面或页面每次传递给服务器时出现这种情况。这个事件可以用来清除或暂存页面处理结束时的对象。
ONFIRSTCLICK事件
当用户按下又抬起RecordsetNavbar对象的“First”按钮时出现的事件。
适用于
RecordsetNavbar脚本对象
语法
object_onfirstclick
参量
object
一个RecordsetNavbar脚本对象。
说明
当用户使用鼠标器或空格键按这个按钮时出现这个事件。
RecordsetNavbar对它的四个按钮中的每一个使用唯一的事件。这些事件是onfirstclick、onpreviousclick、onnextclick和onlastclick。
对于由Button对象创建的HTML按钮,使用onclick事件。
举例
可以使用onfirstclick事件取消对绑定着RecordsetNavbar的Recordset进行导航。 Sub myRSNavbar_onfirstclick( ) if sUserName = "Frank"Then 'don't let Frank move these recordsets around, 'he'll run the server right into the ground myRSNavbar.cancelOperation( ) end if End Sub
参见
RECORDSETNAVBAR设计期间控件, ONLASTCLICK事件, ONNEXTCLICK事件, ONPREVIOUSCLICK事件, CANCELOPERATION方法, ISOPERATIONCANCELLED方法, RECORDSETNAVBAR脚本对象
ONLASTCLICK事件
当用户按下又抬起RecordsetNavbar对象的“Last”按钮时出现的事件。
适用于
RecordsetNavbar脚本对象
语法
object_onplastclick
参量
object
一个RecordsetNavbar脚本对象。
说明
当用户使用鼠标器或空格键按这个按钮时出现这个事件。
RecordsetNavbar对它的四个按钮中的每一个使用唯一的事件。这些事件是onfirstclick、onpreviousclick、onnextclick和onlastclick。
对于由Button对象创建的HTML按钮,使用onclick事件。
举例
可以使用onlastclick事件取消对绑定着RecordsetNavbar的Recordset进行导航。 Sub myRSNavbar_onlastclick( ) if sUserName = "Frank"Then ' don't let Frank move these recordsets around,' he'll run the server right into the ground myRSNavbar.cancelOperation( ) end if End Sub
参见
RECORDSETNAVBAR设计期间控件, ONFIRSTCLICK事件, ONNEXTCLICK事件, ONPREVIOUSCLICK事件, CANCELOPERATION方法, ISOPERATIONCANCELLED方法, RECORDSETNAVBAR脚本对象
ONNEXTCLICK事件
当用户按下又抬起RecordsetNavbar对象的“Next”按钮时出现的事件。
适用于
RecordsetNavbar脚本对象
语法
object_onnextclick
参量
object
一个RecordsetNavbar脚本对象。
说明
当用户使用鼠标器或空格键按这个按钮时出现这个事件。
RecordsetNavbar对它的四个按钮中的每一个使用唯一的事件。这些事件是onfirstclick、onpreviousclick、onnextclick和onlastclick。
对于由Button对象创建的HTML按钮,使用onclick事件。
举例
可以使用onnextclick事件取消对绑定着RecordsetNavbar的Recordset进行导航。 Sub myRSNavbar_onnextclick( ) if sUserName = "Frank"then ' don't let Frank move these recordsets around, 'he'll run the server right into the ground myRSNavbar.cancelOperation( ) end if End Sub
参见
RECORDSETNAVBAR设计期间控件, ONFIRSTCLICK事件, ONLASTCLICK事件, ONPREVIOUSCLICK事件, CANCELOPERATION方法, ISOPERATIONCANCELLED方法, RECORDSETNAVBAR脚本对象
ONPREVIOUSCLICK事件
当用户按下又抬起RecordsetNavbar对象的“Previous”按钮时出现的事件。
适用于
RecordsetNavbar脚本对象
语法
object_onpreviousclick
参量
object一个RecordsetNavbar脚本对象。
说明
当用户使用鼠标器或空格键按这个按钮时出现这个事件。
RecordsetNavbar对它的四个按钮中的每一个使用唯一的事件。这些事件是onfirstclick、onpreviousclick、onnextclick和onlastclick。
对于由Button对象创建的HTML按钮,使用onclick事件。
举例
可以使用onpreviousclick事件取消对绑定着RecordsetNavbar的Recordset进行导航。 Sub myRSNavbar_onpreviousclick( ) if sUserName = "Frank"Then ' don't let Frank move these recordsets around, ' he'll run the server right into the ground myRSNavbar.cancelOperation( ) end if End Sub
参见
RECORDSETNAVBAR设计期间控件, ONFIRSTCLICK事件, ONLASTCLICK事件, ONNEXTCLICK事件, CANCELOPERATION方法, ISOPERATIONCANCELLED方法, RECORDSETNAVBAR脚本对象
ONROWENTER事件
当光标位置进入Recordset对象中的另外一个记录时出现的事件。
适用于
RecordsetNavbar脚本对象
语法
objRS_onrowenter
参量
object
一个Recordset脚本对象。
说明
要在Recordset对象中移动光标位置,就使用下述方法:move、moveAbsolute、moveFirst、moveLast、movePrevious和moveNext。
ONROWEXIT事件
当光标位置离开Recordset对象中的一个记录时出现的事件。
适用于
Recordset脚本对象
语法
objRS_onrowexit
参量
object
一个Recordset脚本对象。
说明
要在Recordset对象中移动光标位置,就使用下述方法:move、moveAbsolute、moveFirst、moveLast、movePrevious和moveNext。
|