• 締切済み

Javascriptで動的にフォルダを切り替えたい

正直悩んでいます。 Windows7/10の混在している社内の環境でIEからのみ閲覧するページを簡単に作ろうと着手してハマっています。 ファイルサーバのフォルダを表示するページを目指しています。 その際に予め「新宿、池袋、立川」の各営業所向けのフォルダをボタンで切り替えて更に各月ごとに作成されたフォルダまで開くようにという要請を受けています。 このページを開いて、ダミーで用意したGoogleのサイトは上手く開けます。 しかし各営業所のフォルダを指定して開こうとすると「このページは表示できません」というページが表示されます。 そのページのURLは「res://ieframe.dll/dnserror.htm#file:///C:/Users/560030_suzuki/Desktop/'file:///999.999.999.999/share/東京本社/560002_経営戦略室/★経営指標(Ver.2.0)★/01_【TS】東京新宿オフィス/2018年03月'」と表示されます。 file:///C:/Users/560030_suzuki/Desktop/とは、560030_suzukiが私のユーザIDなのですが、それが取り込まれるのが謎なのです。これはここにファイルを置いているからでしょうか。 設定したいのは「'file:///999.999.999.999/share/東京本社/560002_経営戦略室/★経営指標(Ver.2.0)★/01_【TS】東京新宿オフィス/2018年03月'」という少々長めの社内で使用しているファイルサーバのフォルダパスなのですがどうもうまくいきません。 ページとしては以下にソースを貼らせていただきます。 --------------------------------------------------------------------------------------------------------------------- <html> <head> <script type="text/javascript"> function set(n) { var date = new Date(); var year; var month; var mm = date.getMonth() + 1; if (mm < 10) { mm = "0" + mm; }; var path1 = "'file:///999.999.999.999/share/東京本社/560002_経営戦略室/★経営指標(Ver.2.0)★/"; var path2ts = "01_【TS】東京新宿オフィス/"; var path2ti = "02_【TI】東京池袋オフィス/"; var path2tt = "03_【TT】東京立川オフィス/"; var path3 = date.getFullYear() + "年" + mm + "月" + "'" ; var url = [path1 + path2ts + path3 , path1 + path2ti + path3 , path1 + path2tt + path3]; var img = document.getElementById('change'); img.parentNode.href = url[n]; alert(url[n] + 'に変更しました'); } </script> </head> <body> <a href="http://www.google.com"> <img src="01.png" id="change"> <hr> <input type="button" value="TSへ変更" onclick="set(0)">  <input type="button" value="TIへ変更" onclick="set(1)"> <input type="button" value="TTへ変更" onclick="set(2)"> </body> </html> ---------------------------------------------------------------------------------------------------------------------

みんなの回答

回答No.1

> 設定したいのは「'file:///999.999.999.999/ …以下略… file:////999.999.999.999 のように、/ を4つ書くのが正解じゃないかと思いますが… あと、</a>が無いのが気になります。

関連するQ&A

  • javascriptとcssでフォントサイズを切り替えたい

    javascriptとcssでフォントサイズを大中小で切り替えたいと思い、いろいろとサイトをまわりながら以下のようなものを作成しました。 しかし、どうもうまく動いてくれません。 ●●●●●javascript●●●●● function fontChange(str){ var targetFile; switch(str){ case "small": targetFile="../css/font_small.css"; break; case "medium": targetFile="../css/font_medium.css"; break; case "big": targetFile="../css/font_big.css"; break; default: alert("error"); break; } //フォント用CSSのファイル名をクッキーの値として保存 //フォント切り替え機能をサイト全体適用するためpathに/(ルート)を指定 document.cookie="fontstyle="+targetFile+";path=/;"; window.location.reload(); //ページをリロードして設定を反映。 } //以下はページが読み込まれる際必ず実行される処理 var name="fontstyle"; var cookie=document.cookie; //クッキーを取得 if(-1==cookie.indexOf(name)){ //クッキーがなければmediumを指定(デフォルト) var file='../css/font_medium.css'; }else{ var pos_s=cookie.indexOf(name)+name.length+1; //クッキーの値の開始位置 var pos_e=cookie.indexOf(";",pos_s); //クッキーの値の終了位置 if(-1==pos_e){ //末尾にセミコロンがあるか? var file=cookie.slice(pos_s); //無い }else{ var file=cookie.slice(pos_s,pos_e); //有る } } //クッキーの値に対応するCSSを読み込む。 document.write('<link rel="stylesheet" href="'+file+'" type="text/css" />'); ●●●●●css●●●●● 各種用意しました ●●●●●XHTML●●●●● <ul> <li onclick="fontChange('big')">大</li> <li onclick="fontChange('medium')">中</li> <li onclick="fontChange('small')">小</li> </ul> ちなみにこちらのサイトを参考にいたしました。 http://ks-product.com/arc/2007/01/0701082109.html また、XHTML内の<li onclick~>というのをCSSにして<li id="●●">にしたいと思っているのですが、その際CSSにはどのように記載すればよろしいのでしょうか? 長々と大変申し訳ありませんが、よろしくお願いいたします!

  • JavaScriptの件

    html&cssを勉強中の超初心者です。この度JavaScriptの本を購入し下記のソースを入力しましたが、「ページでエラーが発生しました。」と出てしまいます。どなたかどこが間違えているのか教えて頂けませんか?よろしくお願い致します。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Dateオブジェクト</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <SCRIPT language="JavaScript"> <!-- var youbi= new Array(7); youbi [0] = "(日曜日) "; youbi [1] = "(月曜日) "; youbi [2] = "(火曜日) "; youbi [3] = "(水曜日) "; youbi [4] = "(木曜日) "; youbi [5] = "(金曜日) "; youbi [6] = "(土曜日) "; function NowTime(){ var now = new Date(); var yy = new.getFullYear(); var mm = new.getMonth(); var dd = new.getDate(); var wd = new.getDay(); var h = new.getHours(); var m = new.getMinutes(); var s = new.getSeconds(); var TSUKIHI = yy + "年" + (mm+1) + "月" + dd + "日"; var JIKOKU = h + "時" + m + "分" + s + "秒"; alert(TSUKIHI + youbi[wd] + JIKOKU + "です"); } //--> </script> </head> <body> <h1>現在の日時</h1> ※ボタンをクイックすると、現在の日時が表示されます。<br> <br> <BUTTON onClick="NowTime()">現在の日時を表示</BUTTON> </body> </html>

  • javascriptでファイルを指定してアップロードができません

    ファイルのアップロード機能を実装したいのですが <input type="file" />タグは画面に表示したくありません。 そのため「アップロードファイルを指定」ボタンを押すとダイアログが開き ユーザがファイルを指定するよう実装してあります。 以下のコードを書いたのですが「指定しない」ボタンでは正常に動作しましたが 「アップロードファイルを指定」ボタンでは、アクションも呼ばれませんでした。 これは何が問題なのでしょうか? 教えていただけると助かります。 もしかして、javascriptから<input type="file" />を触る場合の セキュリティ制限でしょうか? /**************** 環境 ****************/ jquery 1.3.2 php 5 ie7 /**************** html ****************/ $(document).ready(function(){ $('#btnyes').click(function() { var oldval = ''; $('#fileUpload').click(); // パスが指定されればpost if($('fileUpload').val() != oldval) { execSubmit(); } }); }); function execSubmit() { $('#formBeforeEdit').submit(); } /**************** javascript ****************/ <form name="formUpload" id="formUpload" action="/xxx/xxx" method="post" enctype="multipart/form-data"> <input type="button" name="yes" id="btnyes" value="アップロードファイルを指定" /> <input type="button" name="no" id="btnno" onclick="execSubmit();" value="指定しない" /> <input type="hidden" name="MAX_FILE_SIZE" value="10485760" /> <input type="file" name="fileUpload" id="fileUpload" style="display: none;"/> </form>

  • スロットマシン風の表示

    スタート押下でドラムが回転、ストップで回転を止めジャンプでページ移動…を目指してスクリプトを書きました。 当方MacOS9.2。IE5、NS4.7共、正常に動作。NS7は未確認。WinのNS7でも問題はないようだがWinIEではスタート押下の時点でJAVAスクリプトエラーが発生する。 対処法を教えてください。 ━ var Y1='1999'; var Y2='2000'; var Y3='2001'; var Y4='2002'; var Y5='2003'; var Ymax=5; YY=Math.floor(Math.random()*Ymax)+1; var M1='01'; var M2='02'; var M3='03'; var M4='04'; var M5='05'; var M6='06'; var M7='07'; var M8='08'; var M9='09'; var M10='10'; var M11='11'; var M12='12'; var Mmax=12; MM=Math.floor(Math.random()*Mmax)+1; function start(){ YY=YY+1; if(YY>Ymax)YY=YY-Ymax; MM=MM+1; if(MM>Mmax)MM=MM-Mmax; ID=setTimeout("start()",5); document.box.Y.value = eval('Y'+YY) document.box.M.value = eval('M'+MM) } function stop(){ clearTimeout(ID); } function jump(){ if(YY==Ymax&&MM>5){alert('まだ5月');} else { var ym=document.box.Y.value+"/"+document.box.M.value+"/"; location.href=ym; } } ━ <form name=box><input type=button value=Start onClick=start()><input type=text name=Y size=4><input type=text name=M size=2><input type=button value=Stop onClick=stop()><input type=button value=Jump onClick=jump()></form>

  • マスターページ使用時のJavascript

    vs2012 c#で作成しています。 下記のjavascriptをマスターページを使用したContentPlaceHolderID何に記述し、 playボタンを押すと、再生されません。 (正確には再生直後にリロードが発生しているように見えます) 通常のhtmlページでhead内に書くと問題なく再生できるのですが、 なぜこうなるのか教えて下さい。 <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage2.master" AutoEventWireup="true" CodeFile="test3.aspx.cs" Inherits="test3" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolderContent" Runat="Server"> <div> <input id="file" name="file" type="file" onchange="preview()" class="form-control" /> </div> <div class="flex-video widescreen" style="margin: 0 auto; text-align: center;"> <video id="video" class="videoUiWrapper thumbnail" controls loop muted preload="auto" ></video> </div> <div> <button id="btnPlay" onclick="playVideo()" class="btn btn-primary">play</button> <button id="btnPause" onclick="pauseVideo()" class="btn btn-primary" >pause</button> </div> <script type="text/javascript"> function preview() { var fileData = document.getElementById("file").files[0]; if (fileData.name != "") { tryVideo(fileData); } } function tryVideo(file) { if (!/video/.test(file.type)) { return alert('videoぢゃない'); } if (!/probably|maybe/.test(video.canPlayType(file.type))) { return alert('再生できる動画ファイルぢゃないyo'); } video.src = URL.createObjectURL(file); } function playVideo() { video.play(); } function pauseVideo() { video.pause(); } </script> </asp:Content>

  • javascriptでの2つのプルダウンメニューの初期値

    下記の2つの連動するセレクトメニューで最初の国名のプルダウンで「日本」を選択、次の都市名のプルダウンで「東京」を選択し、 その後ブラウザの戻るボタンで戻り後、再びページを表示させたり、または入力内容確認画面へ進みjavascriptのonclick="history.back()"で入力ページ(下記スクリプト記述ページ)に戻ると1つ目の国名のメニューは日本が表示されていますが、2つ目の都市名のメニューが空白になってしまいます。 そのため、都市名のプルダウンで東京を表示させるには、1つ目の国名のプルダウンを一度日本以外にしてから再度日本に表示させるといった動作が必要になってしまっています。 そこで、都市名のメニューを空白にさせずにそのまま表示させるように色々調べたのですが、解決策がありませんでした。 そこで、せめて両方のプルダウンともに「国を選択して下さい」にした状態にはできないかと考えております。 何か良い方法がありましたらば教えて頂けませんでしょうか? <html> <head> <script type="text/javascript"> window.onload = function(){ document.getElementById("selMain").onchange = function(){ var selNo = this.selectedIndex; var selObj = document.getElementById("selSub"); var optionData = [ ["国名を選択してください,"], ["東京,tokyo","大阪,osaka","名古屋,nagoya"], ["ニューヨーク,ny","ロサンゼルス,la"] ]; var i, tmp = []; while(selObj.hasChildNodes()) { selObj.removeChild(selObj.firstChild); } for (var i=0; i<optionData[selNo].length; i++){ tmp = optionData[selNo][i].split(","); selObj.options[i] = new Option(tmp[0], tmp[1]); } } } </script> </head> <body> <form action="./enq.cgi" method="get" id="mainForm" name="mainForm"> <select id="selMain"> <option value="" selected>国を選択してください</option> <option value="jp">日本</option> <option value="usa">アメリカ</option> </select> <select id="selSub"> <option value="">国を選択してください</option> </select> </form> </body> </html>

  • JavaScriptでのWebフォーム送信について

    JabsScriptの勉強を始めたばかりの初心者です。 自分で使っているオリジナルのスタートページに Mapion(地図サイト)のシンプルな検索窓をつけようと思っているのですが、 Mapionは現在、特殊な仕様になっていて、例えば、 「新宿区新宿1-1-1」の地図を見たいというときには、 URLでいうと「http://www.mapion.co.jp/s/q=新宿区新宿1-1-1/」 という形でなければダメで、 htmlのみで<form>タグを使ってGET送信する形にすると、 どうしても、「http://www.mapion.co.jp/s/?q=新宿区新宿1-1-1」となってしまい、 これでは、余計な「?」が入ってしまうのと、最後に「/」がない為、 地図を表示してくれないのです。 そこで、JavaScriptを使って以下のように書いてみたところ、 一応動くようにはなったのですが、 テキストボックスに地図を見たいところの住所を入力した後に、 一回、Tabキーを押下するなりしてフォーカスを送信ボタンに移してから Enterキーを押さないと動作してくれません。(下記ソース1参照) 住所入力後にテキストボックスにフォーカスがある状態でエンターキーを押下しても きちんと内容が送信され地図が表示されるようにしたいのですが、 どうしたらいいでしょうか? 自分なりにいろいろ調べて試行錯誤していますが、どうもうまくいきません。 ■ソース1 <html> <!-- Mapion --> <form name="js"> <input type="text" name="txtb" value="" size=50> <input type="button" value="Mapion" onclick="textbox()"> </form> </html> <script> function textbox(){ var url = "http://www.mapion.co.jp/s/q=" +document.js.txtb.value + "/" ; window.location.href = url } </script> ■ソース2 ↓onkeydownを使ってテキストボックスでEnterキーが押されたら 動作するように書いてみたつもりですが、これだと動きません。 <html> <!-- Mapion --> <form name="js"> <input type="text" name="txtb" value="" size=50 onkeydown="go();"> <input type="button" value="Mapion"> </form> </html> <script> function textbox(){ var url = "http://www.mapion.co.jp/s/q=" +document.js.txtb.value + "/" ; top.window.location.href = url; } function go(){ if(window.event.keyCode==13)textbox(); } </script>

  • [javaScript] form action

    PHPとjavascriptで検索(別ページ)→検索結果表示(test.php)→指定リンククリック(test.php)→チェックボックスの値を親ウィンドウ(test.php)から子ウィンドウ(aaa.php、bbb.php)へ渡し、更新→親ウィンドウ(test.php)に反映→検索ボタン押下で再検索(test.php)という流れのプログラムを書いています。 親ウィンドウ(test.php)に反映までは実装できましたが、その後検索でsubmitすると、test.phpではなくaaa.phpかbbb.phpへ遷移してしまいます。 色々試してみましたがどうしてもわからず、どなたかご教授いただけませんでしょうか。 よろしくお願い致します。 [親ウィンドウ] function setDown(type) { window.open("", "test") ; if(type == 'aaa') { window.document.fm.action = "aaa.php"; } else if(type == 'bbb') { window.document.fm.action = "bbb.php"; } window.document.fm.target = "test"; window.document.fm.method = "POST"; window.document.fm.submit(); } <form action="index.php" method="post" name="fm"> <a href="javascript:void(0)" onClick="setDown('aaa');"return false>aaa指定</a> <div id="aaaDis"></div> <a href="javascript:void(0)" onClick="setDown('bbb');"return false>bbb指定</a> <div id="bbbDis"></div> <input type="text" name="keyword"> <input type="submit" name="search" value="検索"> </form> [子ウィンドウ aaa.php] if($_REQUEST["mode"] == "set") { foreach($_REQUEST["sample"] as $num => $val) { $addName .= $Func -> GetGenreName($val) . ","; $addNo .= $val. ","; } $addName = rtrim($addName ,","); $addNo = rtrim($addNo ,","); <script type="text/javascript"> <!-- var addName = '<?php echo $addName ; ?>'; var addNo = '<?php echo $addNo ; ?>'; var sampleName = addName.split(","); var sampleNo = addNo.split(","); if(sampleNo) { window.opener.document.getElementById('aaaDis').innerHTML = ""; for (var i in sampleNo){ window.opener.document.getElementById('aaaDis').innerHTML += '<input type="checkbox" name="sample[]" value="'+sampleNo[i]+'" checked>&nbsp;'+sampleName[i]; } } window.close(); // --> </script> } <form action="aaa.php" method="post"> <input type="hidden" name="mode" value="set"> <input type="submit" value="設定"> <input name="sample[]" TYPE="checkbox" VALUE="1">1111 ・ ・ ・ </form>

  • 確認ダイアログについて

    初歩的な質問で申し訳ないですが誰か教えてください。 cookieでセレクトボックス等の選択内容を保存させています。 その時、確認ダイアログを表示させて、yesならセーブorロード。 noならセーブorロードを中止、にしたいのですがやり方がイマイチ分りません。 別ページへのジャンプ確認なら window.location = "htp://sample/";でいいのは分かるのですが、onclick="get_cookie()" で実行しているのを onclickで"Check()"させ、それで"get_cookie()"を実行させるには どうしたらいいのかが分りません。 それとも元々やり方を間違えているのでしょうか? なお、get_cookieの構文に確認ダイアログを組み込むのは余計難しそうなので、そこは弄らずになんとかしたいと思っています。 よろしくお願いします。 <HTML> <HEAD> <script type="text/javascript"><!-- function Check { var res = confirm("保存していいですか?"); if( res == true ) { } else { alert("中止します。"); } } function get_cookie(){ // サンプルなので省略。 } function set_cookie(){ // サンプルなので省略。 } // --></script> </HEAD> <BODY> <FORM><INPUT type="button" name="save" value="セーブ" onclick="get_cookie()"> </FORM> <P><INPUT type="button" name="lord" value="ロード" onclick="set_cookie()"></P> </BODY> </HTML>

  • (ドリームウィバー)テンプレートを摘要するとJavaScriptが機能しなくなる・・・。

    よろしくお願い致します。 テンプレートは、外部ファイルで作られたJava(下記のような)などを付けリンクさせて作成しました。 } function zoom(url){ var pw = window.open(url, 'pw', 'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=650,height=650'); pw.focus(); } あるページにこうしてできたテンプレートを摘要すると、素直に上記のコマンドは機能するのですが、 このテンプレートを他のファイルに摘要さすと、上記のようなリンク系のJavaScriptだけが機能しなくなります。 テンプレートファイルでは、当然、編集可能領域なども設定し、うまくいっているはずなんです。 テンプレートないの編集可能領域は、リンクであろうとなんであろうと、 他のページで編集可能ですよね? それともリンクのパスなどは、テンプレート通りにしか機能しなく、 摘要したページごとにはリンク先を編集できないのでしょうか? テンプレートを摘要させたページのコードです。 <td><a href="#" onClick="javascript:zoom('img/***.htm')">〔***〕<br> <img src="img/p1073.jpg" alt="*****************" name="***" width="86" height="86" border="0"><br> <span class="small">****<br> *****</span><br> <s>****</s><br> <span class="b_red">******</span></a></td>