【问题标题】:Classic ASP VBScript return PC name issue经典 ASP VBScript 返回 PC 名称问题
【发布时间】:2012-08-16 17:33:22
【问题描述】:

编辑 - 最好问一下,也许我需要从 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 表单中。

【问题讨论】:

  • 你完全不可能得到它,除非有时在 Intranet 中。
  • 这是一个 Intranet,我可以使用 VBScript 获得所需的值 - 我无法从 VBScript 将该值放入表单中

标签: asp-classic vbscript


【解决方案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 之后才能工作,如果您希望将其放在您的正文标记中添加这样的内容:&lt;body onload="SetComputerName()"&gt;

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 它是使用activeX 的IE,它是一个Intranet - 上面的VBScript 返回我需要的值,但我无法将该值放入ASP 表单中,我猜是它的VBScript?我这样做了:'FPNAME = strName 并以我想要的形式:'' %>'
    猜你喜欢
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多