2

I'm trying to access a variable in javascript that i set in vbscript all within one hta file:

<script type="vbscript">
    var globalVariable = test123
</script>

<script type="text/javascript">
    var globalVariable = <%= globalVariable %>;
</script>

This doesn't populate the variable globalVariable with anything. I've also tried

var globalVariable = "<%= globalVariable %>";

This just populates the string within the quotes into the variable globalVariable.

I can't get the value 'test123' set in the VBScript section to populate into a JS variable within the JS section.

Any help would be appreciated.

3 Answers 3

4

Based on your question, I've written an HTA containing the following code:

<script type="text/vbscript">
dim globalvariable
globalvariable = "test123"
</script>
<script type="text/javascript">
alert(globalvariable);
</script>

and the value "test123" is displayed in the alert box.

Note the following differences with your code:

  • vbs language syntax is different to js syntax;
  • your js code looks like asp code to me, rather than js;
  • I got an error message using '' without 'text/' prefix;
Sign up to request clarification or add additional context in comments.

1 Comment

Apologies for the syntax errors within the initial question. Within my actual code, I had the proper syntax. Your code here works perfectly. Thank you for the help.
3

Mixing languages in a .HTA App is easy, if you just follow the syntactical rules for each language (e.g. there is no "var" in VBScript).

<html>
 <head>
  <hta:application id = "mix"></hta>
  <script LANGUAGE="VBScript">
  Dim gsX : gsX = "global VBScript variable"
  </script>
  <script LANGUAGE="JScript">
  alert(gsX);
  </script>
 </head>
 <body>
 </body>
</html>

1 Comment

Apologies for the syntax errors within the initial question. Within my actual code, I had the proper syntax. Your code here also works perfectly. Thank you for the help.
1

Can you use a DOM element like a hidden input field to communicate between VBScript and JS? If that works you can trigger a custom event when the value changes, and listen for that event on both sections.

I never used VBScript before so this may not be possible.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.