2013-08-01 10 views
8

ここでスレッドを検索しましたが、何をしようとしているのか遠隔に何も見つかりませんでした。基本的に私は、onClickのjavascriptを使ってvbscriptを呼びたいと思います。JavaScriptからVBscriptを呼び出すにはどうすればよいですか?

Javascript onmouseoverイベントとonmouseoutイベントを使用するボタンからonClickイベントのaVBScriptを呼び出す方法はありますか?

私はそれが機能して助けを必要とするように思えません。

Javascriptコード::以下は、私が呼び出すしたいと思い、私のjavascriptのコードのスニペットともVBスクリプトである私がやりたい何

<td align="center"> 
    <input onMouseOver="window.status=me.value" onMouseOut="window.status=''" onMouseOver="window.status=me.value" onMouseOut="window.status=''" type="button" value="Impersonation" class="redBtn" onClick="openPopup('http://internal.mps.cardinal.net/cardcom/index.asp')" /> 
    </td> 
    <td align="center"> 
    <input onMouseOver="window.status=me.value" onMouseOut="window.status=''" onMouseOver="window.status=me.value" onMouseOut="window.status=''" type="button" value="ServiceNow" class="normalBtn" onClick="openPopup('https://cardinal.service-now.com/navpage.do')" /> 
    </td> 

はServiceNowクリック時のVBScriptを呼び出すですイベント。

私のVBスクリプト:エラー時に WScript.Quitメイン

Function Main 
Set IE = WScript.CreateObject("InternetExplorer.Application", "IE_") 
IE.Visible = True 
IE.Navigate "https://cardinal.service-now.com/navpage.do" 
Wait IE 

With IE.Document 
On Error Resume Next 
    .GetElementsByName("EnterpriseID")(0).value = "admin" 
    .GetElementsByName("PASSWORD")(0).value = "admin" 
End With 

IE.Document.getElementByID("SignInBtn").Click 

End Function 

Sub Wait(IE) 
Do 
WScript.Sleep 500 
Loop While IE.ReadyState < 4 And IE.Busy 
Do 
WScript.Sleep 500 
Loop While IE.ReadyState < 4 And IE.Busy 
End Sub 

Sub IE_OnQuit 

次 WScript.StdErr.WriteLine再開 "スクリプトが終了する前にIEを閉じたの。" WScript.Quit End Subのは

はいあなたは、このサンプルはJSでonmouseover/outとVBScriptでonClickを使用していることを行うことができますあなたが

+0

\t <入力onMouseOverの= "よるwindow.status = me.value" ONMOUSEOUT = "よるwindow.status = ''" onMouseOverの= "よるwindow.status = me.value" ONMOUSEOUT =」 window.status = '' "type =" button "value ="偽装 "class =" redBtn "onClick =" openPopup( 'http://internal.mps.cardinal.net/cardcom/index.asp') "/> \t <入力onMouseOverの= "よるwindow.status = me.value" ONMOUSEOUT = "よるwindow.status = ''" onMouseOverの= "よるwindow.status = me.value" ONMOUSEOUT =」 "openNew" class = "normalBtn" onClick = "openPopup(" https://cardinal.service-now.com/navpage.do ")// – Drew

+1

ewww .... .... peopleまだブラウザでVBScriptを使用しますか?なぜあなたはそのようなことをしますか? – Spudley

+0

@Spudleyのレガシーコード? –

答えて

5

を提供することができる任意の助けてくれてありがとう。

<script type="text/vbscript"> 
     Function MyVbAlert() 
     MsgBox("Hello from VB Script!") 
     End Function 
    </script> 

    <script type="text/javascript"> 

     function myJsMouseOver(c) { 
      c.style.color = 'green'  
     } 

     function myJsMouseOut(c) { 
      c.style.color = 'black' 
     } 

    </script> 


    <span onclick="MyVbAlert()" onmouseover="myJsMouseOver(this)" onmouseout="myJsMouseOut(this)" >Click Me</span> 
+1

これは機能します。どうもありがとうございました!!あなたは命の恩人です! – Drew

+0

問題はありません:)喜んで助けてください。 –

+2

これはJavaScriptからVBScriptを呼び出すのではなく、DOMイベントリスナーからVBScriptを呼び出しています。 – cchamberlain

1

私は、これは古いです知っているが、私はJavaScriptで書かれた新しいページからレガシーVBScriptを呼び出す方法を探していました。私のようなものを使用:

<script language="javascript" type="text/javascript"> 
function clickProxy() { 
    document.getElementById("vbProxy").click(); // initiate click event on the button 
} 
</script> 

<script language="vbscript" type="text/vbscript"> 
function runVB() 
    msgbox "VBScript!" 
end function 
</script> 

をし、HTMLに:

<input type="button" id="vbProxy" onclick="vbscript: runVB" value="VB Proxy" style="height:0px;width:0px"/> 
<input type="button" onclick="clickProxy()" value="Click Me" style="height:0px;width:0px"/> 

DOM要素は、両方のJavaScriptとVBScriptを見ることができるので、私は「プロキシ」ボタンをトリガするために一つのボタンを使用し、どの順番にVBScriptを呼び出します。あなたは隠れた入力フィールドにそれらを落とすことによってparams(一種)を渡すことさえできます。

私は上記をテストしなかったので、間違いがある場合は謝罪しますが、あなたはそのアイデアを得ます!

関連する問題