• ベストアンサー

JavaScriptからVBScriptの呼び出しについて

JavaScriptからVBScriptで作った関数を呼び出すことは可能なのでしょうか? 可能なのであれば、やりかたを教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • haporun
  • ベストアンサー率40% (230/562)
回答No.1

できますよ。 別のスクリプトタグの中で定義した関数は、普通に呼び出せますので。 <script language=vbscript> function hoge(arg) hoge=arg*5 end function </script> <script language=javascript> document.write(hoge(6)); </script> とか。 逆もしかりです。

snowsaab
質問者

補足

解答ありがとうございます。 早速、教えていただいたのを使いやってみたのですが、 『オブジェクトを指定してください』というエラーになってしまします。 こういうエラーはどういうときにでるのでしょうか? すいません。初歩的なことで・・・。 ちなみにエラーのでるソースです。 <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>

その他の回答 (2)

  • haporun
  • ベストアンサー率40% (230/562)
回答No.3

通常ASPのデフォルト言語はVBScriptとなっていますが、サーバーによってはJAVAScriptを使ってるところもありますよ。 それに、ASPだったらまた、別の話になりますよ。 最初からASPって言ってくれればよかったのに。 <script language=vbscript> と書いたら、ASPじゃなくてクライアントサイドスクリプトになってしまうのでは。 >私の書いているソースでは <script language=vbscript>を定義してなくて、定義していない関数を呼び出したいのです。 デフォルトがASPと規定されているところではいいですが、そうでないところもあるので、VBScriptと指定しないのは、多少リスクがあると思うのですが。 あと、呼び出しができないことで考えられる原因は、Scriptタグを使ったことで、クライアントサイドスクリプトがサーバーサイドスクリプトを呼び出そうとしたり、その逆をしていることだと思います。

snowsaab
質問者

お礼

説明不足で申し訳なかったです。 じゃ、クライアントサイドスクリプトからサーバースクリプトへの呼び出しが できなかったんですね。 勉強不足ですいません。 でも、それがわかっただけでもよかったです。 ありがとうございましたm(__)m

  • haporun
  • ベストアンサー率40% (230/562)
回答No.2

これ以前がないと分かりませんね。 form1はちゃんとformタグのnameになってますか? フォームの中にgrup_no.valueというnameのものはあるのでしょうか? そのへんが確認どころです。

snowsaab
質問者

補足

言われたとおりにソースを書いてみると、確かに動作しました。 でもですね、すいません。言い忘れたことがひとつ・・・。 ASPに <script language=vbscript> と定義しない場合は、 <vbscript>ではないのですか??? 私は <script language=vbscript> と定義しなくても、 <vbscript>だと思っていました。それは、間違いですか??? 私の書いているソースでは <script language=vbscript> を 定義してなくて、定義していない関数を呼び出したいのです。 それって、可能なのでしょうか。 わかりにくい質問ですいません。 わかる範囲で結構ですので、もし、よろしければご解答お願いしますm(_)m 

関連するQ&A

  • ASP【JavaScript】【VBScript】

    ASPの画面が、【JavaScript】→【VBScript】の流れになっています。 【JavaScript】のデータを渡す→【VBScript】の処理をする必要があります。 【JavaScript】→【VBScript】の方法がわかりません。 つまり、【JavaScript】のデータを【VBScript】で受け取る方法がわかりません。 ご存知の方がおられましたら、教えていただきたく、よろしくお願いいたします。 第2案としまして、【VBScript】で、【JavaScript】の関数を呼び出す方法を考えております。 この方法をご存知の方がおられましたら、教えていただきたく、よろしくお願いいたします。

  • JavaScript と VBScript を同時に使う

    メタ内に VBScript, JavaScript の順にスクリプトを配置しているのですが,ボディ内から JavaScript の関数を引数つきで呼び出そうとすると,「Sub プロシージャを呼び出すときに,かっこを使うことはできません。」と表示されエラーになります。 どうすればいいでしょうか。よろしくお願いします。

  • JavaScript と VBScript を同時に使う

    meta内に VBScript, JavaScript の順にスクリプトを配置しているのですが,body内から JavaScript の関数を引数つきで呼び出そうとすると,「Sub プロシージャを呼び出すときに,かっこを使うことはできません。」と表示されエラーになります。 どうすればいいでしょうか。よろしくお願いします。

  • JavaScript内で得た値をVBScript内で使用する。

    こんにちは! ちょっと複雑なのですが、ご存知でしたら教えて下さい。 今VBScriptで、ADOを使用してデータベース接続をし、コンボボックス で一覧を選択できるようにしています。 ここで<SCRIPT LANGUAGE=javascript>を使用して _onchange()関数(コンボボックスの値が変更したら関数を実行する) でコンボボックスの値を取得します。 </SCRIPT> ↑この部分だけjavascriptで他はVBScript で、この関数で取得した値をVBScript内で使用したいのですが、 可能でしょうか?

  • VBScript から JavaScript を呼び出すには

    VBScript 内から JavaScript を引数付きで呼び出したいのですが、 「Sub プロシージャを呼び出すときに、かっこを使うことはできません。」 と出てエラーになります。「javascript:」を使ってみましたがうまくいきません。 どうすればいいのでしょうか。よろしくお願いします。

  • Javascript と VBscript

    画面の入力必須チェックを作っていたのですが、 VBScriptだと(原因は分かりませんが)うまく動かないので、 JavaScriptで作成したら、動きました。 JavaScriptで作って不都合なことはありますか? 例えば、クライアントの設定でJavaScriptを無効にしたら動かないとか。 よろしくお願いいたします。

  • ひとつのhtmlでjavascriptとvbscriptを使用できますか?

    よろしくお願いします。 a.html内で、javascriptとvbscriptを使用することはできますか? a.htmlは質問ページで、以下の動作をつけたいと思いましたが、javascriptが動きません。マウスオーバーでボタンの色が変わらないのです。 vbscript=質問が400字以上のとき、ポップアップエラーを出す。 javascript=ヘッダーのボタンをロールオーバーさせる これはhtmlの仕様ではできないことなのでしょうか? javascriptかvbscriptどちらかに絞らないと駄目でしょうか?

    • ベストアンサー
    • HTML
  • javascriptとVBscriptでは

    javascriptとVBscriptでは どちらの方が簡単ですか? 私はHTMLの知識とVBAの知識は多少あります。 この二つのうちのどちらかを習得しようと思っていますが どちらの方が簡単か教えてください。

  • JavaScriptとVBScriptに関して

    こんにちは。質問です! JavaScriptの確認ダイアログに「はい」「いいえ」「キャンセル」を出す関数がないので、 execScript()を使って、VBScriptのMsgBoxで出力することにしました。 以下、簡単なソースです。 function msgBox() {   var msg1 = "次のページへ移ります。";   var msg2 = "よろしいですか?";   //msg1とmsg2を改行してMsgBoxに出力したい。   var allMsg = msg1 + "vbCrLf" + msg2;     window.execScript("anser = MsgBox('" + allMsg + "',vbYesNoCancel,'確認')","VBScript"); } としているのですが、 VBScriptの改行の"vbCrLf"が文字列扱いとなり、以下のようにそのまま出力されてしまいます。 「次のページへ移ります。vbCrLfよろしいですか?」 ※VBのChr$(13) & Chr$(10)やChr(13) & Chr(10)でも試しましたが同じ結果です。 対処法をご存知の方がおりましたら、ご回答お願い致します。

  • VBscriptとJAVAscriptどっち?

    WEBページ上で簡単な計算をさせたいのですが、どっちがいいでしょうか? 計算は簡単ですけど数が多いので行き詰まるとつらいです。 VB5を少しいじっていますので、Vbscriptのほうがなじみやすいけれど、資料が少ない。将来性もない? JAVAscriptのほうが資料も多く王道のような気がします。 けど難しい。 実際の機能差は VBscriptのほうはIEだけってことと、ASPで楽に使えるってことぐらいしか分かりません。 どっちにしよう。

専門家に質問してみよう