收藏本站 
广告服务 
网站地图 
>> 我们从网络和杂志上收集了近100000余篇各类电脑技术、网络技术、软件技术等方面的文章教程,我们的收录原则:不是精华拒不收录!
先飞电脑技术网技术文章
Vbscript 脚本对象模型事件速查
[ 作者:佚名    转贴自:网络转载    阅读次数:226    更新时间:2006-3-17 20:11:00   录入:刘光勇 ]         
    

关于使用这个事件的内容,详见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。

上一篇:Vbscript 脚本对象模型属性速查  下一篇: Vbscript 脚本对象模型方法速查  

网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 招聘信息 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号