- ベストアンサー
JavaScriptからVBScriptの呼び出しについて
JavaScriptからVBScriptで作った関数を呼び出すことは可能なのでしょうか? 可能なのであれば、やりかたを教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
できますよ。 別のスクリプトタグの中で定義した関数は、普通に呼び出せますので。 <script language=vbscript> function hoge(arg) hoge=arg*5 end function </script> <script language=javascript> document.write(hoge(6)); </script> とか。 逆もしかりです。
その他の回答 (2)
- haporun
- ベストアンサー率40% (230/562)
通常ASPのデフォルト言語はVBScriptとなっていますが、サーバーによってはJAVAScriptを使ってるところもありますよ。 それに、ASPだったらまた、別の話になりますよ。 最初からASPって言ってくれればよかったのに。 <script language=vbscript> と書いたら、ASPじゃなくてクライアントサイドスクリプトになってしまうのでは。 >私の書いているソースでは <script language=vbscript>を定義してなくて、定義していない関数を呼び出したいのです。 デフォルトがASPと規定されているところではいいですが、そうでないところもあるので、VBScriptと指定しないのは、多少リスクがあると思うのですが。 あと、呼び出しができないことで考えられる原因は、Scriptタグを使ったことで、クライアントサイドスクリプトがサーバーサイドスクリプトを呼び出そうとしたり、その逆をしていることだと思います。
お礼
説明不足で申し訳なかったです。 じゃ、クライアントサイドスクリプトからサーバースクリプトへの呼び出しが できなかったんですね。 勉強不足ですいません。 でも、それがわかっただけでもよかったです。 ありがとうございましたm(__)m
- haporun
- ベストアンサー率40% (230/562)
これ以前がないと分かりませんね。 form1はちゃんとformタグのnameになってますか? フォームの中にgrup_no.valueというnameのものはあるのでしょうか? そのへんが確認どころです。
補足
言われたとおりにソースを書いてみると、確かに動作しました。 でもですね、すいません。言い忘れたことがひとつ・・・。 ASPに <script language=vbscript> と定義しない場合は、 <vbscript>ではないのですか??? 私は <script language=vbscript> と定義しなくても、 <vbscript>だと思っていました。それは、間違いですか??? 私の書いているソースでは <script language=vbscript> を 定義してなくて、定義していない関数を呼び出したいのです。 それって、可能なのでしょうか。 わかりにくい質問ですいません。 わかる範囲で結構ですので、もし、よろしければご解答お願いしますm(_)m
補足
解答ありがとうございます。 早速、教えていただいたのを使いやってみたのですが、 『オブジェクトを指定してください』というエラーになってしまします。 こういうエラーはどういうときにでるのでしょうか? すいません。初歩的なことで・・・。 ちなみにエラーのでるソースです。 <input type="button" name="show" value="表示" onClick="show_in()"> <SCRIPT LANGUAGE="JavaScript"> <!-- function show_in(){ listn=document.form1.grup.selectedIndex+1; document.form1.grup_no.value = listn; document.write(Gamen(listn)); } //--> </SCRIPT> <SCRIPT LANGUAGE="VBScript"> Public function Gamen(listn) //処理// End function //--> </SCRIPT>