ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

HTMLファイルでJavaScriptとVBScriptを混在させたとき、値を共有する。


 あ、これ、アップしてなかったみたいなので。。。

 クライアント側のHTMLファイルで、普通JavaScriptでやるけど、
VBScriptもなんらかの理由で混在させたくて、そのとき、JavaScriptで
使った値を、VBScriptでも参照したり、加工したい場合。

 いろんな方法があると思うけど、簡単なのは、INPUTタグのhiddenで値をもち、
(hiddenなので、ユーザーには見えない)、その値をJavaScriptとVBScriptで
参照するって形。

サンプルは、こんなかんじ
<HTML>
<HEAD>
<TITLE>JavaScriptで設定、VBスクリプトで足し算</TITLE>

<SCRIPT LANGUAGE="VBScript"> 
<!--
Sub button1_OnClick
  Document.buf.Text1.Value = Document.buf.Text1.Value + 1
  MsgBox Document.buf.Text1.Value
End Sub
-->
</SCRIPT>

<SCRIPT LANGUAGE="JavaScript"> 
<!--
function load()
{
  document.buf.Text1.value = 2008;
}
-->
</SCRIPT>

</HEAD>
<BODY onload="load()">
<FORM NAME="buf">
<INPUT NAME="Text1" TYPE="hidden">
</FORM>

<FORM NAME="zikko">
<INPUT NAME="button1" TYPE="BUTTON" VALUE="足し算します">
</FORM>

</BODY>
</HTML>

(上記 < > は本当は半角)
  
これは、ロードしたとき、JavaScriptで2008を設定し、
クリックごとにVBScriptのbutton1_OnClickで1足したあと、メッセージボックスを出すというもの。

Formのbufに変数がまとめてある。
(ここではText1をhiddenで使っている)


プログラム中の、大文字小文字を間違えると動かない場合があるので注意。
それと、;の有無(JavaScriptは;がつく。VBScriptにはつかない)に注意。