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

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

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

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

Q&A

解決済

3回答

656閲覧

JavaScriptのtextContentの挙動について

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

0グッド

0クリップ

投稿2020/02/15 08:14

textContentを使ってテキストボックスに入力した値をそのまま出力したいのですがうまくいきません
イメージ説明

js

1let date = document.getElementById("date"); 2 let kingaku = document.getElementById("kingaku"); 3 let syousai = document.getElementById("syousai"); 4 let bikou = document.getElementById("bikou"); 5 let inputDate = document.getElementById("inputDate"); 6 7 function test() { 8 const li = document.createElement('li'); 9 li.textContent = `${date} 10 ${kingaku} 11 ${syousai} 12 ${bikou}`; 13 inputDate.append(li); 14 } 15 16 btn.addEventListener('click', () => { 17 test(); 18 })
body> <td><input type="text" name="date" id="date"></td> <td><input type="text" name="kingaku" id="kingaku"></td> <td><input type="text" name="syousai" id="syousai"></td> <td><input type="text" name="bikou" id="bikou"></td> <button id="btn">ボタン</button> <ul id="inputDate"></ul> <script src="js/main.js"></script> </body>

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

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

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

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

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

guest

回答3

0

ベストアンサー

inputの値をとるには、valueプロパティを使ってください。
document.getElementByIdでとった値(DOM)をそのまま表示すると、添付していただいたような文字列が表示されてしまいます。

let date = document.getElementById("date"); let kingaku = document.getElementById("kingaku"); let syousai = document.getElementById("syousai"); let bikou = document.getElementById("bikou"); let inputDate = document.getElementById("inputDate"); function test() { const li = document.createElement("li"); li.textContent = `${date.value} ${kingaku.value} ${syousai.value} ${bikou.value}`; inputDate.append(li); } btn.addEventListener("click", () => { test(); });

サンプルコード

参考リンク

投稿2020/02/15 08:19

編集2020/02/15 08:23
shgtkshruch

総合スコア665

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

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

miyabi_takatsuk

2020/02/15 08:23

ネイティブでは、 inputのvalueはメソッドなのでしょうか・・・? jQueryだと、間違いなくメソッドですが。
shgtkshruch

2020/02/15 08:25

コメントありがとうございます。 最初に書き違えていたことに気づいて、先程修正しました。
shgtkshruch

2020/02/15 08:37

こちらこそ、ご指摘ありがとうございました!
guest

0

JavaScriptのtextContentの挙動について

Node.textContent で説明されています。

textContentを使って(中略)うまくいきません

<Input> 要素 は 空要素なので、textContentによる値の取得はできません。

テキストボックスに入力した値をそのまま出力したい

既に回答が出ています。

投稿2020/02/15 09:28

AkitoshiManabe

総合スコア5434

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

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

0

js

1const sample = document.getElementById("kingaku") 2console.log(sample)

だと要素の配列が表示になってしまうので、

js

1const sample = document.getElementById("kingaku") 2console.dir(sample.name) // name属性の場合 3console.dir(sample.id) //id名の場合

のような感じに修正していただければ適応すると思います。

大まかな変更の仕方だと以下のような感じになります。

js

1const date = document.getElementById("date"); // dateなどの要素 2const li = document.createElement('li'); // 追加する要素 3li.textContent = `${date.name}` // li要素にテキスト追加など 4inputDate.append(li);

投稿2020/02/15 08:30

jackmiwamiwa

総合スコア395

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問