2013-08-01 2 views
8

Я искал здесь темы, но не смог найти ничего удаленного, связанного с тем, что я пытаюсь сделать. В основном я хочу вызвать vbscript, используя javascript для onClick.Как я могу вызвать VBscript из Javascript

Есть ли способ вызвать aVBScript для события onClick с помощью кнопки, которая использует события Javascript onmouseover и onmouseout?

Я не могу заставить его работать и вам нужна помощь. Ниже приведен фрагмент моего яваскрипта кода, а также VB Script я хотел бы крикнуть:

код

Javascript:

<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> 

Что я хотел бы сделать, это взывать к VBScript для ServiceNow OnClick мероприятие.

Мой VBscript: 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 

On Error Resume Next WScript.StdErr.WriteLine "IE закрыто до сценария завершения." WScript.Quit End Sub

Спасибо за любую помощь вы можете предоставить

+0

\t <вход 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') "/> \t <вход 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') "/> – Drew

+1

ewww .... люди по-прежнему использовать VBScript в браузере ??? Зачем вам это делать? – Spudley

+0

@Spudley старый код? –

ответ

5

Да, вы можете сделать это, в данном примере используется onmouseover/out в JS и onClick в VBScript.

<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

Это не вызов VBScript из JavaScript, он вызывает VBScript из прослушивателя событий DOM. – cchamberlain

1

Я знаю, что это старый, но я искал способ вызова унаследованного VBScript из новых страниц, написанных с помощью JavaScript. Я что-то вроде:

<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 элементы могут увидеть как яваскрипт и VBScript, так что я использовал одну кнопку, чтобы вызвать кнопку «прокси», который, в свою очередь, вызывает VBScript. Вы можете даже передать параметры (вроде), отбросив их в скрытые поля ввода.

Я не тестировал вышеизложенное, поэтому извиняюсь, если есть какие-либо ошибки, но вы получаете идею!

Смежные вопросы