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

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

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

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

HTML

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

Q&A

2回答

587閲覧

検索フォームに入力されたものを

npa-2001

総合スコア0

JavaScript

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

HTML

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

0グッド

0クリップ

投稿2021/08/01 11:13

編集2021/08/01 12:36

投稿しなおしました。ご迷惑おかけしてすみません、

HTMLで、検索フォームに入力されたものと連想配列内のkeyが一致した場合、その連想配列内の値を画面に表示できるようにしたいです。現在、以下のようなプログラミングを組んでます。配列名などは例です。

const data={
{name:"みかん",
english:"orange",
voice:"オレンジ"},

{name:"りんご",
english:"Apple",
voice:"アップル"}
}

function Func(){
const search=document.getElementById("search").value;
//検索結果が含まれる場合
if(search in data){
document.writeln(${search}は、<br>${data.english} と表記し、${data.voice}と発音します。)
}else{
//検索結果が含まれなかった場合
document.writeln("検索結果がありません。<br>もう一度確認して入力しなおしてください。")
}
}
</script>

</head> <body> <h1 id="title">表記発音検索</h1> <input type="text" id="search" placeholder="くだものの名前を入力"> <button onclick="Func()">探す</button> </body> </html>

検索フォームに「みかん」と入力された場合、その場に「みかんは、orangeと表記し、オレンジと発音します。」と出るようにしたいです。

発生している問題・エラーメッセージ
検索結果が含まれている場合、『${search}は、<br>${data.english} と表記し、${data.voice}と発音します。』と、そのまま出てきます。
書き方が間違っているのは分かっているのですが、訂正の仕方がわからず、、、アドバイスを頂けると幸いです。そもそも、検索結果と連想配列内に入力しているものを関連付けることは可能でしょうか?

試したこと
$を使用せず、
document.writeln(name + "は、<br>" + data.english +"と表記し、" + data.voice + "と発音します。")
と変えてみたりはしました、

アドバイスをどうぞよろしくお願い致します。

補足情報

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

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

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

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

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

y_waiwai

2021/08/01 11:20

質問文は編集できます 無駄に質問建てないで、追記修正しよう
npa-2001

2021/08/01 12:15

回答ありがとうございました。訂正・修正しなおしました、、、
guest

回答2

0

const data={
{name:"みかん",
の部分から構文がおかしいのでエラーが起きており、プログラム自体動作していない状態だと思います。
script部分を修正したので、この状態で「みかん」と検索すると動作すると思います。

(1)dataの定義がおかしいのでdataArrとして定義し直しています。
(2)配列dataArrの中から一致しているデータを取得。
(3)${}を使用するには``で括る必要があります。

js

1 const dataArr = [{ //(1) 2 name:"みかん", 3 english:"orange", 4 voice:"オレンジ" 5 },{ 6 name:"りんご", 7 english:"Apple", 8 voice:"アップル" 9 }]; 10 11 function Func(){ 12 const search = document.getElementById("search").value; 13 let data = dataArr.find(function(data){ //(2) 14 return search === data.name; 15 }); 16 //検索結果が含まれる場合 17 if(data){ 18 document.writeln(`${search}は、<br>${data.english} と表記し、${data.voice}と発音します。`); //(3) 19 }else{ 20 //検索結果が含まれなかった場合 21 document.writeln("検索結果がありません。<br>もう一度確認して入力しなおしてください。"); 22 } 23 }

投稿2021/08/02 02:35

webgoto

総合スコア1293

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

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

0

こちらの質問は投稿ミスです。失礼いたしました。

投稿2021/08/01 11:48

npa-2001

総合スコア0

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

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

Zuishin

2021/08/01 11:56

そこに編集ボタンがあるでしょう。 この回答と新しい質問は削除申請し、この質問を編集してください。
npa-2001

2021/08/01 12:15

回答ありがとうございます。訂正・修正しなおしました、
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問