2011-05-23 147 views
3

如何從vbscript調用javascript函數。 我是這樣寫的如何從vbscript調用javascript函數

<script type="text/vbscript"> 
jsfunction() 
</script> 
<script type="text/javascript"> 
function jsfunction() 
{ 
    alert("Hello") 
} 
</script> 

但它表明類型不匹配如何實現它。請幫幫我。

謝謝 米希爾

+0

這個問題似乎是一個IE /瀏覽器問題,但接受的答案似乎是一個ASP答案。我認爲這個問題需要更新以澄清哪些問題。 – 2017-09-20 22:54:48

回答

2

嘗試......

<%@ Language=VBScript %> 
<HTML> 
<HEAD> 
</HEAD> 
<BODY> 
<script language="JavaScript" > 
function jsfunction() 
{ 
    alert("Hello") 
} 

</script> 
<% 
Response.Write "Calling =" jsfunction() "." 
%> 
</BODY> 
</HTML> 
+0

@road ..謝謝你,但你能解釋Response.Write「Calling =」jsfunction()「。」你爲什麼寫這樣的...請 – Mihir 2011-05-23 10:50:27

8

假設你想要這個客戶端,而不是ASP;

如果將JScript塊放在之前,VBScript塊(或將呼叫連接到加載事件)將可以正常工作。 (IE僅當然)

... 
<head> 

<script type="text/vbscript"> 
    function foo 
     call jsfunction() 
    end function 
</script> 

<script type="text/javascript"> 
    function jsfunction() 
    { 
     alert("hello"); 
    } 
</script> 

</head> 

<body onload="foo()"> 
... 
3

從JavaScript調用 你的VBScript一個VBScript函數:

Function myVBFunction() 
    ' here comes your vbscript code 
End Function 

你的JavaScript:

function myJavascriptFunction(){ 
    myVBFunction();   // calls the vbs function 
} 
window.onload = myJavascriptFunction; 
Alternatives (incompatible in some IE versions): 


    // This one: 
window.onload = function(){ myVBFunction(); } 
    // This will also work: 
window.onload = myVBFunction(); 
    // Or simply: 
myVBFunction(); 
    // From a hardcoded link, don't write a semicolon a the end: 
<a href="#" onclick="VBscript:myVBFunction('parameter')">link</a>  

反轉: 調用JavaScript函數來自VBScript

Function myVBFunction() 
    myJavascriptFunction() 
End Function 
1

相反,我們應該寫回這又使用response.write-

代碼頁的打印值警報低於 -

<%@ Language=VBScript %> 
<HTML> 
<HEAD> 
</HEAD> 
<BODY> 
<script language="JavaScript" runat="server"> 
function test() { 
return "Test"; 
} 
</script> 
<% 
Response.Write "Value returned =" & test() & "." 
%> 
</BODY> 
</HTML>