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

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

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

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

Q&A

解決済

2回答

1215閲覧

javascriptの命令文に受け取った文字列を使いたい

jinba

総合スコア310

JavaScript

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

0グッド

0クリップ

投稿2018/03/20 08:42

html

1<form> 2<input name="jp" type="text" value="あいうえお" > 3<input name="us" type="text" value="ABCDE" > 4<input type="button" value="nameが「jp」のvalue表示" onClick="view('jp')"></td> 5<input type="button" value="nameが「us」のvalue表示" onClick="view('us')"></td> 6</form> 7```上記のようなhtmlがあり「jp」「us」をjavascriptへ渡しinputのvalueをアラートを表示させたいです 8```javascript 9<script> 10function view(test){ 11alert($('input[name="jp"]').val()); 12} 13</script> 14```上記のコードではアラートに「あいうえお」と表示されます。 15このコードの[name="jp"]部分へ(test)を挿入させ機能させたいのですがうまくいきません 16 17□■□■□■以下試したこと□■□■ 18```javascript 19<script> 20function view(test){ 21alert($('input[name="test"]').val()); 22//alert($('input[name="+test+"]').val());こちらも同じ結果 23//alert($('input[name="{test}"]').val());こちらも同じ結果 24//alert($('input[name="${test}"]').val());こちらも同じ結果 25} 26</script> 27```上記のコードではアラートに「undefined」と表示されてしまいます。 28```javascript 29<script> 30function view(test){ 31alert("$('input[name=\""+test+"\"]').val()"); 32} 33</script> 34```上記のコードではアラートに「$('input[name="jp"]').val()」と表示されてしまいます。 35 36JavaScript初心者で基本的なことがわかってないだけのような気もしますが 37調べる方法すら思いつきません。ヒントだけでもご教授ください。

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

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

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

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

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

guest

回答2

0

次のどちらかを試してみましょう.

JavaScript

1alert($('input[name="'+test+'"]').val()); 2alert($(`input[name="${test}"]`).val());こちらも同じ結果

投稿2018/03/20 08:56

defghi1977

総合スコア4756

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

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

jinba

2018/03/20 09:13

素早い回答ありがとうございます まったく同じ解決策を3分誤差ではありますが 先に解凍して頂いた方をベストアンサーとさせていただきました。 回答くださりありがとうございました。
defghi1977

2018/03/20 09:14

なお後者はテンプレートリテラルと呼ばれる構文で, IE系等古めの環境では動かないかもしれません.
jinba

2018/03/20 11:51

テンプレートリテラルという名前すら知らなかったので勉強になりました。 ありがとうございました。
guest

0

ベストアンサー

js

1alert($('input[name="'+test+'"]').val());

もしくは

js

1alert($(`input[name="${test}"]`).val());

投稿2018/03/20 08:53

naga3

総合スコア1293

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

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

jinba

2018/03/20 09:12

素早い回答ありがとうございます 解決策① alert($('input[name="'+test+'"]').val()); 解決策② alert($(`input[name="${test}"]`).val()); 解決策①ではしっかり動作致しました。 解決してみれば馬鹿な悩みだったと恥ずかしいです 解決策②ではアラートすら表示されませんでした 環境が悪いのでしょうか… ともかく動作する解決策が見つかり助かりました ありがとうございました。
jinba

2018/03/20 11:51

テンプレートリテラルという名前すら知らなかったので勉強になりました。 サポート状況のURLまでご教授頂きありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問