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

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

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

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

Q&A

解決済

1回答

1723閲覧

GETパラメタでhtmlファイル名を渡したい。

shikasama

総合スコア163

JavaScript

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

0グッド

0クリップ

投稿2016/08/30 05:19

編集2016/08/30 05:31

###GETパラメタでhtmlファイル名を渡したいです。
outputExcel(category,manageNo)のcategoryにoutputFile()で開くhtmlファイル名を渡したいと思ってます。
GETパラメータがmanageNoのみの場合はうまくいったのですが開くhtmlファイルを分岐させるためにhtmlファイル名をGETパラメタで渡そうとするとエラーになってしまいました。どうしたらうまく渡せるでしょうか?

###発生している問題・エラーメッセージ

リソースが見つかりませんでした。 説明: HTTP 404. 探しているリソース (または、その依存関係の 1 つ) が削除されたか、名前が変更されたか、また一時的に使用できません。以下の URL のスペルが正しいことを確認してください。 要求された URL: /○○/Excel/undefined

###該当のソースコード

javascript

1// hoge.js 2function outputExcel(category,manageNo) { 3 4 var url = '../SelectOutputForm/ExcelOutput?no=' + manageNo + '&category=' + category; 5 6 // ウィンドウサイズ 7 var w_size = 200; 8 var h_size = 260; 9 var userAgent = window.navigator.userAgent.toLowerCase(); 10 if (userAgent.indexOf('trident/7') != -1) { 11 // ブラウザがIEの場合 12 showModalDialog(url, window, 'dialogheight:' + w_size + 'px;dialogwidth:' + h_size + 'px;'); 13 } else { 14 // ブラウザがIE以外の場合 15 // ウィンドウ表示位置(画面中央) 16 var l_position = (window.screenLeft + (window.screen.availWidth - w_size) / 2); 17 var t_position = (window.screenY + (window.screen.availHeight - h_size) / 2); 18 open(url, '_blank', 'height=' + w_size + ',width=' + h_size + ',height=' + h_size + ',left=' + l_position + ',top=' + t_position); 19 } 20 21} 22 23function getManageNo() { 24 var str = location.search; 25 str = str.substring(1, str.length); 26 var strArray = str.split('='); 27 return strArray[1]; 28} 29 30function gerCategory() { 31 var str = location.search; 32 str = str.substring(1, str.length); 33 var strArray = str.split('='); 34 return strArray[3]; 35} 36 37function outputFile() { 38 var manageNo = getManageNo(); 39 var category = gerCategory(); 40 var url = '../Excel/' + category +'?no=' + manageNo; 41 sendPostNewWindow((window.opener || window.dialogArguments).document.forms[0], url); 42 close(); 43}

html

1// サブウィンドウ 2<head> 3 <script type="text/javascript" src="@Url.Content("~/Scripts/hoge.js")"></script> 4</head> 5<body> 6 <input type="button" name="xlxsButton" style="width:200px;" value="Microsoft Excel 2007以降" onclick="outputFile()"> 7</body>

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

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

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

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

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

guest

回答1

0

自己解決

GETパラメタの受け取り側がいけなかったようです。
以下の様に変えたらうまくいきました。

javascript

1function getManageNo() { 2 var str = location.search; 3 str = str.substring(1, str.length); 4 var paraArray = str.split('&'); 5 var strArray = paraArray[0].split('='); 6 return strArray[1]; 7} 8 9function gerCategory() { 10 var str = location.search; 11 str = str.substring(1, str.length); 12 var paraArray = str.split('&'); 13 var strArray = paraArray[1].split('='); 14 return strArray[1]; 15}

投稿2016/08/30 05:40

shikasama

総合スコア163

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問