質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

ASP

ASP(Active Server Pages) あるいはClassic ASP (ASP Classic)は、マイクロソフト社開発した動的なウェブページ製作に利用可能なサーバー側のスプリクトエンジンです。

Q&A

解決済

1回答

7215閲覧

クラシックasp内のjavascript内にVBscriptを埋め込めるか

otdsh9432

総合スコア55

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

ASP

ASP(Active Server Pages) あるいはClassic ASP (ASP Classic)は、マイクロソフト社開発した動的なウェブページ製作に利用可能なサーバー側のスプリクトエンジンです。

0グッド

0クリップ

投稿2020/02/28 07:23

編集2020/02/29 01:28

現在、かなりレガシーなシステムの改修をしています。

「.asp」(クラシックasp)のファイル内の

<script>タグにJavaScriptの関数を入れています。(「印刷」ボタン押下時の処理として) その関数の中に、VBScriptの処理を埋め込もうとしています。 **具体的には、印刷ボタンを押下した際、別サイトにリダイレクトする機能を実現したいです**  ※「別サイト」:VB.NETで構築したサイト(ActiveReportsを使用したPDF出力用のサイト) この場合、下記のような書き方で実現できますでしょうか。 イメージは以下です。 ```asp <%@ Language=VBScript %> ~~中略~~ <script> function fncPrt(~略~){    ~~中略~~   <% Response.Redirect(~略~) %> } </script> <head>~略~</head> <body> ~略~   <input type="button" value="印刷" ~略~ onclick="fncPrt(~略~)"> ~略~ </body>
このように埋め込みましたが、 印刷ボタンをクリックすると、JS関数(fncPrt)は当然動きますが、 同時に、VBScriptの処理(リダイレクト)も動作する、ということになりますでしょうか。 (fncPrtは動くが、リダイレクトは動作しない、ということにならないか) これから実行してみて確認しようとも思っているのですが、 「そもそもこんなことはできない」ということであれば、 早めに別の方法を検討したいと思ってご質問しました。 aspに関することは調べてもなかなか出てこず、知っている人も周りにいないため、 ご質問した次第です。 どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2020/02/28 07:31

サーバーサイドでvbscriptを動作させて、クライアントサイドはjsを実行するということですか?
otdsh9432

2020/02/28 08:01

ご指摘ありがとうございます。 はい、そのようなイメージです。
yambejp

2020/02/28 10:23 編集

意図してそうしない限りサーバーサイドの言語はクライアントサイドのスクリプトに 影響をあたえないと思います ちなみにVBScriptの関数宣言は Function hoge() ・・・ end function
退会済みユーザー

退会済みユーザー

2020/02/28 21:49

XY問題になっているようです。Y を質問するだけでなく、X を具体的に書いてもらえると、X を実現するための代案が出てくるかもしれません。
退会済みユーザー

退会済みユーザー

2020/02/28 21:51

ASP.NET, VB.NET は関係ないのでタグは外していただきたく。
otdsh9432

2020/02/29 01:28

ご指摘ありがとうございます。 質問を具体的に記載しました。また、タグは外しました。 よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2020/02/29 02:20

> 印刷ボタンを押下した際、別サイトにリダイレクトする機能を実現したいです 単に遷移するだけで良ければ JavaScript で window.location.href に遷移先を設定すればできそうですが、それではダメなのですか。
guest

回答1

0

ベストアンサー

<script> function fncPrt(~略~){    ~~中略~~   <% Response.Redirect(~略~) %> } </script>

いいえ。VBScript(サーバーサイドスクリプト)なので、
scriptタグを出力する時点で実行されます。
多分ですが、このaspのレスポンスとして印刷ボタンのある画面は表示されず、
302(?)リダイレクトが返ると思います。

よって回答としては

印刷ボタンをクリックすると、JS関数が動き、同時に、サーバーサイドスクリプトのVBScriptの処理も動作する、

というようなものは「そもそもこんなことはできない」という回答になります。

投稿2020/02/28 09:06

編集2020/02/28 09:15
Y.H.

総合スコア7914

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otdsh9432

2020/03/22 02:40

ご回答いただきありがとうございました! ご指摘の通り、この画面に遷移した段階で、印刷ボタンを表示する画面は表示されずにリダイレクトが実行されてしまうため、リダイレクト用の画面をもう一つ作り、そのリダイレクト用画面にPOSTで遷移してからリダイレクトすることで、実現したい機能を実現することができました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問