By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,636 Members | 1,814 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,636 IT Pros & Developers. It's quick & easy.

HELP: ASP JScript & VBScript interoperability

P: n/a
How can VBScript code access JScript code variables in the same ASP page?

<SCRIPT LANGAUGE="VBScript">
Dim a
a = 10
</SCRIPT>
<SCRIPT LANGUAGE="JScript">
Response.Write(a);
</SCRIPT>

Also, is this valid JScript code because ASP hasn't complained.

<SCRIPT LANGUAGE="JScript">
function Section(a, b, c, d) {
this.a = a;
this.memFunction = function() {
this.a = this.a + 1;
}
}
</SCRIPT>

Basically it's like JScript's way of declaring classes.

How can VBScript code create a Section object?

<SCRIPT LANGUAGE="VBScript">
Dim obj
obj = new Section 'Error, says cannot find Section
obj = new Section() 'Error again
obj = new Section(1, 2, 3, 4) 'Error again
</SCRIPT>
Also, is it possible to nest <SCRIPTtag inside <% %>? Like:

<%
'Some VBScript code
Class AClass
Private a
Function b()
End Function
%>
<!-- #INCLUDE VIRTUAL="JScript.asp" -->
<%
End Class
%>

where JScript.asp has:

<SCRIPT LANGUAGE="JScript">
function Section() {
function Section2() {
}
}
</SCRIPT>

ASP didn't complain. But couldn't test whether the JScript functions Section
were member functions of the VBScript AClass.
Jun 15 '07 #1
Share this Question
Share on Google+
1 Reply


P: n/a

"Andrew Wan" <an************@hotmail.comwrote in message
news:Or**************@TK2MSFTNGP04.phx.gbl...
How can VBScript code access JScript code variables in the same ASP page?

<SCRIPT LANGAUGE="VBScript">
Dim a
a = 10
</SCRIPT>
<SCRIPT LANGUAGE="JScript">
Response.Write(a);
</SCRIPT>

Also, is this valid JScript code because ASP hasn't complained.
It won't because without a runat="server" attribute on the script element
the above is simply treated as content and sent to the client. The client
should've complained that Response is undefined.

To answer your question variables and functions declared at global scope are
accessible across the script boundaries.
>
<SCRIPT LANGUAGE="JScript">
function Section(a, b, c, d) {
this.a = a;
this.memFunction = function() {
this.a = this.a + 1;
}
}
</SCRIPT>

Basically it's like JScript's way of declaring classes.
Yeah but it's very JScript and is completely alien to VBScript.
>
How can VBScript code create a Section object?

<SCRIPT LANGUAGE="VBScript">
Dim obj
obj = new Section 'Error, says cannot find Section
obj = new Section() 'Error again
obj = new Section(1, 2, 3, 4) 'Error again
</SCRIPT>
You need to create a factory function in the JScript:-

function newSection(a, b, c, d)
{
return new Section(a, b, c, d)
}

Now VBScript can use:-

Set obj = newSection(1,2,3,4)
>

Also, is it possible to nest <SCRIPTtag inside <% %>? Like:

<%
'Some VBScript code
Class AClass
Private a
Function b()
End Function
%>
<!-- #INCLUDE VIRTUAL="JScript.asp" -->
<%
End Class
%>

where JScript.asp has:

<SCRIPT LANGUAGE="JScript">
function Section() {
function Section2() {
}
}
</SCRIPT>
No do it the other way around:-

Have a JScript.js file

then add this outside <% %:-

<script src="test.js" runat="server" language="JScript" ></script>

Note it only makes sense to use this a function library, in-line code isn't
much use apart from code that may help create objects.
>
ASP didn't complain. But couldn't test whether the JScript functions
Section
were member functions of the VBScript AClass.

Again the runat attribute was missing.
Jun 15 '07 #2

This discussion thread is closed

Replies have been disabled for this discussion.