经典ASP VBScript返回PC名称问题

时间:2012-08-16 17:33:23

标签: asp-classic vbscript

编辑 - 更好地问我可能需要将VBScript变量NAME的值输入到ASP表单中,否则任何尝试引用该变量而不是将其打印到屏幕上都会被忽略。

这是在内部网上,仅供内部使用,IE在最低安全设置下使用,因此activeX在没有提示的情况下运行。

我有一个vbscript,当它运行时返回我正在寻找的东西 - 客户端PC名称

<script language="vbscript"> 
<!--

    Set objNetwork = CreateObject("WScript.Network") 

    NAME= objNetwork.computername

    document.write(NAME)

//--> 

</script> 

当我运行以下内容时,我得到了服务器名称:

<% 
    Set objNetwork = CreateObject("WScript.Network") 

    strNAME = objNetwork.computername

    response.write("Value of strNAME variable: " & strNAME & "<br>")
%>

我需要VBScript返回的实际PC名称,我需要将其插入表单中。使用ASP我可以填写表单,但它给我服务器名称,我需要VBScript PC客户端名称。我无法弄清楚如何将VBScript名称输入ASP表单。

2 个答案:

答案 0 :(得分:1)

您需要客户端VBScript:

<script language="vbscript"> 
<!--

Function SetComputerName
    Set objNetwork = CreateObject("WScript.Network") 
    NAME=objNetwork.computername
    Document.Forms("form1").Elements("computername").Value = NAME
End Function

SetComputerName()

//--> 

</script> 

使用表单名称或ID而不是“form1”以及应包含计算机名称而不是“computername”的输入元素名称。

该脚本仅在放置在HTML标记的末尾时才有效,或者至少在表单HTML之后,如果您希望将其添加到您的正文标记中,则该标记将起作用:<body onload="SetComputerName()">

答案 1 :(得分:0)

在代码块之外生成HTML,就像这样。这是正确的语法,但通常不会通过浏览器公开客户端名称,除非您使用IE和某种Active-X控件。

<input type="hidden" value="<%=strNAME%>" />