2011-05-23 196 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>