vbs+hta中实现在单个 onClick 参数中包括多个子例程的代码

时间:2021-05-22

问:
您好,脚本专家!在您的HTA示例中,您为我们展示了如何单击一个按钮使一个子例程得以运行。那么,如何向一个按钮的onClick参数添加两个或多个子例程呢?

--FM

答:
您好,FM。您知道,在认知心理学中有一个有趣的分支,称为问题发现;其理论是您回答问题的能力通常首先取决于您问到的问题。例如,您–以及其他几个人–想要知道如何在一个按钮的onClick参数中指定多个子例程。我们见过人们尝试对代码做出各种修改,以下就是一个例子:

<inputtype="button"value="RunButton"onClick="Script_1;Script_2;Script_3">

正如您所见,这不能解决问题。

那么让我们将发现问题的技能应用到测试中,看看是否能够用其它方式来描述该问题。(通常,脚本专家无需发现问题;问题会设法找到我们。)下面是问题的关键所在:我们是真的要向onClick参数添加多个子例程,还是仅想要在任何时候单击按钮时能够运行多个子例程?

如果是后者,我们有下面的答案:

复制代码 代码如下:
<html>
<head>
<title>MultipleSubroutines</title>

<HTA:APPLICATION
ID="objHTAHelpomatic"
APPLICATIONNAME="MultipleSubroutines"
SCROLL="yes"
SINGLEINSTANCE="yes"
WINDOWSTATE="maximize"
>
</head>

<SCRIPTLanguage="VBScript">

SubRunScripts
Script_1
Script_2
Script_3
EndSub

SubScript_1
Msgbox"Thisissubroutine1."
EndSub

SubScript_2
Msgbox"Thisissubroutine2."
EndSub

SubScript_3
Msgbox"Thisissubroutine3."
EndSub

</SCRIPT>

<body>
<inputtype="button"value="RunButton"onClick="RunScripts">
</body>
</html>
注意:前面的代码被设计为从一个HTA(HTML应用程序)运行。如果想要测试该代码,只需复制该脚本,将其粘贴到记事本或者其它的文本编辑器,并且用.HTA文件扩展名保存。


如果粗略地看一下该代码,您可能会注意到按钮的HTML标记:

<inputtype="button"value="RunButton"onClick="RunScripts">

正如您所见到的那样,我们仅在onClick参数中指定了一个单一子例程(RunScripts)。哦,但是看一下子例程RunScripts的代码:

SubRunScripts
Script_1
Script_2
Script_3
EndSub

答案就在这里。在该子例程中我们所做的就是调用其它三个子例程:Script_1、Script_2和Script_3。这就是我们如何从一个按钮的单击事件中运行多个子例程的方法:我们并不把所有那些子例程都放入onClick参数中,而是将其放入onClick所调用的单个子例程中。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章