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

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

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

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

Q&A

解決済

2回答

1618閲覧

リンクごとに違うページに飛ぶパスワードの作成

aaaaMAX

総合スコア16

JavaScript

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

0グッド

0クリップ

投稿2018/11/07 16:12

編集2018/11/08 06:10

前提・実現したいこと

location.hrefを用いたパスワードで、パスワードを入力した際に、
それぞれのリンクの情報を反映したアドレスに移動するJSを作成したいと思っています。

つまり、いくつかリンクがあるページで、一部のリンクにパスワードをつけたいと思っています。
ただし、全てのリンクでパスワードは同一で、リンク先は別にしたいのです。

同じパスワードを入力しても一律に
http://●●●.com/UserInput.html
に移動するのではなく、例えばそれぞれのidを取得して、
http://●●●.com/UserInputid1.html
http://●●●.com/UserInputid2.html
http://●●●.com/UserInputid3.html
に飛ぶようなJSを作成したいです。

getid();などを試してみましたがよく分かりませんでした。
どのようにJSやHTMLを変えればいいでしょうか。

HTML

1<a href="#" id="id1" onclick="gate();">01</a> 2<a href="#" id="id2" onclick="gate();">02</a> 3<a href="#" id="id3" onclick="gate();">03</a>

JavaScript

1 function gate() { 2 var UserInput = prompt("パスワードを入力して下さい:",""); 3 location.href = UserInput + ".html"; 4 }

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

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

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

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

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

m.ts10806

2018/11/07 17:10

ソースコードはマークダウンのcode機能を利用してください(質問は編集できます)
m.ts10806

2018/11/07 17:10

今の状態だと入力した情報そのままのページに遷移していますよね。「パスワード入力値」+「押したリンクのID」のhtmlは必ず存在するような仕組みなのでしょうか?
m.ts10806

2018/11/07 22:57 編集

「押したaタグのID属性の属性値」を取得するのは容易ですが、今回実現しようとしている機能の仕様がよくわかりません。
aaaaMAX

2018/11/08 06:01

・「パスワード入力値」+「押したリンクのID」のhtmlは必ず存在するような仕組みなのでしょうか?→存在します
aaaaMAX

2018/11/08 06:03

目的→いくつかリンクがあるページで、一部のリンクにパスワードをつけたいと思っています。ただし、全てのリンクでパスワードは同一で、リンク先は別にしたいのです。
guest

回答2

0

ベストアンサー

こういうことなのではないのでしょうか?

html

1<a href="#" id="id1" onclick="gate(this);">01</a> 2<a href="#" id="id2" onclick="gate(this);">02</a> 3<a href="#" id="id3" onclick="gate(this);">03</a>

javascript

1 function gate(anchor) { 2 var UserInput = prompt("パスワードを入力して下さい:",""); 3 location.href = UserInput + anchor.id + ".html"; 4 }

投稿2018/11/08 06:58

papinianus

総合スコア12705

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

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

aaaaMAX

2018/11/08 07:16

まさしくそうです! 私のつたない説明を汲み取っていただきありがとうございます。 おかげさまで目的の機能が作成できました。ありがとうございました。
guest

0

リンクを使う限り入力は不要では?

HTML

1<a href="http://exsample.com/UserInputid1.html">01</a> 2<a href="http://exsample.com/UserInputid2.html">02</a> 3<a href="http://exsample.com/UserInputid3.html">03</a>

一応拡大解釈してこう

javascript

1<script> 2window.addEventListener('DOMContentLoaded', function(e){ 3 [].forEach.call(document.querySelectorAll(".target"),function(x){ 4 x.addEventListener('click',function(e){ 5 e.preventDefault(); 6 var num=prompt("input 0-99"); 7 if(num.match(/^[1-9]?[0-9]$/)){ 8 location.href="http://exsample.com/UserInput"+num+".html"; 9 }else{ 10 alert('bad data'); 11 } 12 }); 13 }); 14}); 15</script> 16<a href="#" class="target">click here!</a>

修正版

念の為修正版挙げておきます

javascript

1<script> 2window.addEventListener('DOMContentLoaded', function(e){ 3 [].forEach.call(document.querySelectorAll(".target"),function(x){ 4 x.addEventListener('click',function(e){ 5 e.preventDefault(); 6 var UserInput=prompt("input"); 7 location.href="http://exsample.com/"+UserInput+e.target.getAttribute("id")+".html"; 8 }); 9 }); 10}); 11</script> 12<a href="#" id="01" class="target">01</a> 13<a href="#" id="02" class="target">02</a> 14<a href="#" id="03" class="target">03</a> 15<a href="http://exsample.com/">non target</a>

投稿2018/11/08 00:32

編集2018/11/08 07:28
yambejp

総合スコア114779

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

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

aaaaMAX

2018/11/08 06:04

ご回答ありがとうございます。 ただ、ご提示いただいた機能は私がやろうとしていることとは少し違うようです。 いくつかリンクがあるページで、一部のリンクにパスワードをつけたいと思っています。 ただし、全てのリンクでパスワードは同一で、リンク先は別にしたいのです。
yambejp

2018/11/08 06:08

> 一部のリンクにパスワードをつけたい そういうふうに書いてあります class="target"がついているアンカーにしか反応しないはずですが?
aaaaMAX

2018/11/08 06:46

同一のパスワードでリンク先を別にしたいのです
yambejp

2018/11/08 06:52

> 同一のパスワードでリンク先を別にしたいのです どういうロジックかわかりません。 同じものをどうやって別だと判断するのでしょうか?
aaaaMAX

2018/11/08 07:19

html上で別個のidやclassを指定し、「パスワード+id名やclass名+.html」のページに飛ぶようにしたいと考えておりました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問