创建事件处理程序

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

在为 Microsoft Office InfoPath 表单模板编写脚本时,通常需要在某个表单模板或数据验证事件处理程序中编写代码。事件处理程序是 InfoPath 表单模板中的函数代码,这些代码与表单中的用户操作或 XML 数据的更改相对应。事件处理程序的创建方式取决于要使用的事件类型。在设计模式下创建事件处理程序很重要,因为 InfoPath 会自动在脚本文件中创建事件处理程序的声明,并在表单定义文件 (.xsf) 中创建使表单模板可以使用这些事件处理程序的条目。

注意: 尽管可以在脚本文件中手动创建事件处理程序,然后通过向 .xsf 文件中手动添加适当的元素来启用这些事件处理程序,但是不建议这样做。如果对 .xsf 文件进行了无效更改,表单模板可能会不可用。

下表列出了每个 InfoPath 事件处理程序及其创建步骤。在为表单模板创建事件处理程序时,InfoPath 会启动 Microsoft 脚本编辑器 (MSE) 并将鼠标放在该事件处理程序的代码中。随后可以为该事件处理程序编写脚本。有关 InfoPath 事件和事件处理程序的详细信息,请参阅 MSE 帮助中的“InfoPath 开发人员参考”。

Event handler

Description

Steps for creating

OnAfterChange

用户指定的控件绑定到的字段中的值更改后,将运行此事件。例如,您可以自定义 HTML 任务窗格后显示在用户选择列表框控件中的项目。OnValidate事件之后运行此事件。

右键单击窗体模板或数据源任务窗格中的字段上的控件,在快捷菜单上,指向编程,然后单击在之后更改事件

OnAfterImport

用户成功将多个表单合并到一个窗体后,将运行此事件。

使用手动添加OnAfterImport事件处理程序声明直接到的脚本文件 MSE。在设计模式中无法创建此事件处理程序。

OnBeforeChange

用户在控件中的值更改后,在将值添加到指定的字段绑定到该控件之前执行该事件。例如,您可以防止用户填写重复表中的最后一行之前添加的其他行。

右键单击窗体模板或数据源任务窗格中的字段上的控件,在快捷菜单上,指向编程,然后单击在之前更改事件

OnClick

用户单击与该事件关联的按钮时,将运行此事件。表单模板中添加一个按钮后,此事件才可用。例如,您可以执行复杂计算主数据源中的字段中使用的值,当用户单击按钮。

双击该按钮控件,然后单击按钮属性对话框中的常规选项卡上的编辑表单代码

OnContextChange

当焦点更改窗体中时,将运行此事件。例如,当用户从文本框中导航到日期选取器,或者当用户切换视图执行该事件。在所有其他事件发生后,将发生此事件。

工具菜单上,指向编程,,然后单击上下文更改事件

OnLoad

此事件,只要用户创建一个新的窗体或打开现有窗体基于表单模板上运行。例如,您可以将复制项目的列表从辅助数据源向主数据源用户打开该窗体时。

工具菜单上,指向编程,,然后单击加载事件

OnMergeRequest

基于表单模板的表单合并时,将运行此事件。例如,您可以显示已合并在一起以合并操作期间授予用户的状态的窗体的数目。

工具菜单上,单击表单选项。在类别列表中,单击高级。在合并表单选择使用自定义代码复选框,然后单击编辑

OnSaveRequest

当用户保存基于表单模板的表单时,将运行此事件。例如,您可以保存用户保存窗体时基于到多个位置此表单模板的表单。InfoPath 将两个附加代码行添加到此事件︰ 保存窗体和其他行的行告诉您是否 InfoPath 成功保存窗体。

工具菜单上,单击表单选项。在类别列表中,单击打开和保存。下保存行为,请选择使用自定义代码复选框,然后单击编辑

OnSign

此事件运行时用户适用于窗体的数字签名。例如,可以将其他数据添加到用金报销单的数字签名中,当用户对其进行签名。

工具菜单上,指向编程,,然后单击上登录事件

OnSubmitRequest

当用户提交他或她表单数据时,将运行此事件。例如,您可以在用户单击文件菜单上的提交时提交表单数据发送到安全 Web 服务。由于 InfoPath 不支持安全的 Web 服务数据连接,您需要添加与安全的 Web 服务配合工作的自定义数据连接。

工具菜单上,单击提交选项。选择允许用户提交此表单复选框,单击自定义使用代码执行操作,然后单击编辑代码

OnSwitchView

此事件运行用户打开基于表单模板的表单时,或切换到窗体中的另一个视图。例如,当用户切换到的特定视图,您可以创建电子邮件,其中包含从窗体的主数据源中的字段的数据。

工具菜单上单击编程,,然后单击切换视图事件

OnValidate

用户在控件绑定到的字段值更改时,将运行此事件。例如,当用户更改特定控件中的值,您可以使用用户输入的数字和脚本中的数字计算新值的另一个控件。OnBeforeChange事件处理程序运行之后,将发生此事件。

右键单击窗体模板或数据源任务窗格中的字段上的控件,在快捷菜单上,指向编程,然后单击在之后验证事件

OnVersionUpgrade

此事件运行时用户打开现有窗体和使用现有窗体的窗体模板的版本号低于发布位置中的表单模板的版本号。当用户打开现有窗体时,InfoPath 将检查与现有窗体关联的表单模板的版本号。如果表单模板具有较新的版本号,InfoPath 将用户打开现有窗体时运行OnVersion事件处理程序。例如,假设新字段添加到现有表单模板和重新发布它,并想要添加到主数据源,如果用户打开现有窗体的新字段。用户打开现有窗体时,此事件将新字段添加到主数据源。

工具菜单上,单击表单选项。在类别列表中,单击版本控制。在在版本升级列表中,单击使用自定义事件,,然后单击编辑

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×