0

編集-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を使用してフォームに入力できますが、サーバー名が表示され、VBScriptPCクライアント名が必要です。VBScript名をASPフォームに取り込む方法がわかりません。

4

2 に答える 2

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> 

「form1」の代わりにフォーム名または ID を入力し、「computername」の代わりにコンピューター名を含む入力要素名を入力します。

スクリプトは、HTML マークアップの最後に配置するか、少なくともフォーム HTML の後に配置する場合にのみ機能します。上に配置する場合は、body タグに次のようなものを追加します。<body onload="SetComputerName()">

于 2012-08-19T07:06:15.147 に答える
0

このように、コード ブロックの外側に HTML を生成します。これは正しい構文ですが、通常、IE と何らかの Active-X コントロールを使用しない限り、クライアント名はブラウザー経由で公開されません。

<input type="hidden" value="<%=strNAME%>" />
于 2012-08-16T17:43:47.850 に答える