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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

7568閲覧

簡易的なサイト内検索を作りたい

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2020/01/14 23:01

編集2020/01/15 09:15

様々な企業が提供しているカスタム検索を使わずに簡易的な検索機能をサイトに設置したい

やりたいこと、考えていること→

フォームに入力された文字列を別の値に内部で変換し◯◯の部分に置き換え、ボタンで組み立てられたそのリンクに移動

例(フォームの値→変換する値)
トランペット→b001
チューバ→b002
バイオリン→s001
etc...

https://xxxxxx.com/searchbaffar/◯◯.html

or検索やand検索などは考えておりません

*可能であれば部分一致は作りたい
*ファイル内の文字ではなくファイル名を検索の判定にかけたい
*検索結果は別ページに表示したい
*静的サイトに設置したい

この方法以外に簡単な作り方や多機能を持たせられる作り方などありましたらどこがどう機能するのかを含め教えていただきたいです

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

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

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

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

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

kyoya0819

2020/01/14 23:11

もし、完全一致だけですか? それとも一部一致も含めますか?その場合複数あるときはどうしますか?
退会済みユーザー

退会済みユーザー

2020/01/14 23:15

可能であれば部分一致は含めたいです 複数ある場合はリスト化したいです
m.ts10806

2020/01/14 23:48

静的サイトですよね
m.ts10806

2020/01/14 23:49

要件部分はコメントに書くのではなく質問本文に追記願います
makosankibu

2020/01/17 00:50

質問が受付中になっていますが、ベストアンサーを決めたらどうでしょうか
guest

回答3

0

ベストアンサー

とりあえず、部分一致したもののリンクを貼る方法で

ここまで出てるんで、ご自身でやって欲しいというのが本心ですが、一応書いておきますが、未テストなので動かない可能性があります。

HTMl

1<!--search.html--> 2<input type=text id=tags><input type=button id=search value=検索>

HTMl

1<!--result.html--> 2<div id=result></div>

JS

1// search.htmlに読み込む 2search.onclick = function () { 3 location.href = 'search.html?word=' + encodeURI(tags.value); 4};

JS

1// result.htmlに読み込む 2var tags = [ 3 ['バイオリン','s001'], 4 ['トランペット','b001'], 5 ['チューバ','b002'] 6]; 7 8window.onload = function () { 9 var result = ''; 10 var value = decodeURI(new URLSearchParams(window.location.search).get('word')); 11 for(i=0;i<tags.length;i++){ 12 if(tags[i][0].indexOf(value)!=-1){ 13 result += '<a href=' + tags[i][1] + '>' + tags[i][0] + '</a> '; 14 } 15 } 16 document.getElementById('result').innerHTML = result; 17}; 18

サンプル

投稿2020/01/14 23:23

編集2020/01/14 23:45
kyoya0819

総合スコア10429

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

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

退会済みユーザー

退会済みユーザー

2020/01/14 23:29

ボタンをクリックしたら別のページに検索結果を出力したいです
kyoya0819

2020/01/14 23:45

一応追記しておきます。動かない可能性があるのでご了承を
kyoya0819

2020/01/15 00:19

コードを提示したらそれで終わりですか...
退会済みユーザー

退会済みユーザー

2020/01/15 00:37

返信遅れて申し訳ありません 検索結果のリストアップデザインについて試行錯誤してみたいのですが、どこをどの様に変更すれば良いですか? 検索結果のリストにCSSの影響を与えることはできますか?
kyoya0819

2020/01/15 02:35

result.htmlに指定していく形になるとおもいます。
guest

0

Google先生に「webアプリ 検索機能 javascript」と検索して一番上にあったサイトを貼っておきます。

JavaScriptでサイト内検索ボックスの作り方

実際に手を動かしながらコードを模写すると動きが分かってくるかと思います。

投稿2020/01/15 05:44

Ryupe

総合スコア426

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

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

0

スマホからなので簡単に。

https://www.ideaxidea.com/archives/2013/09/client_side_search.html

考え方を変えて、リンク集をフィルターするのもありかと。結果的に検索と似た効果が期待で来ると思います。

メリットは
0. リンク集のメンテナンスはhtmlが書ける人に任せられる
0. メンテナンス後の動作確認が楽
0. data属性に検索対象にしたいキーワードを入れるので、全文検索ぽい検索も可能

投稿2020/01/15 02:21

編集2020/01/15 04:42
oikashinoa

総合スコア2826

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問