当前位置: 移动技术网 > IT编程>脚本编程>VBScript > vbs+hta中实现在单个 onClick 参数中包括多个子例程的代码

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

泼水歌伴奏,夏智媛,912u

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

-- fm

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

<input type="button" value="run button" onclick="script_1; script_2; script_3">

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

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

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

复制代码 代码如下:

<html> 
<head> 
<title>multiple subroutines</title> 

<hta:application  
     id="objhtahelpomatic" 
     applicationname="multiplesubroutines" 
     scroll="yes" 
     singleinstance="yes" 
     windowstate="maximize" 

</head> 

<script language="vbscript"> 

sub runscripts 
    script_1 
    script_2 
    script_3 
end sub 

sub script_1 
    msgbox "this is subroutine 1." 
end sub 

sub script_2 
    msgbox "this is subroutine 2." 
end sub 

sub script_3 
    msgbox "this is subroutine 3." 
end sub 

</script> 

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


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

<input type="button" value="run button" onclick="runscripts">

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

sub runscripts
    script_1
    script_2
    script_3
end sub

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网