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

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

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

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

HTML

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

Q&A

1回答

535閲覧

要素を指定された形式で追加

Shuteon

総合スコア0

JavaScript

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

HTML

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

0グッド

0クリップ

投稿2021/09/19 09:07

編集2021/09/19 09:09

ボタンを押すと入力したコメントが指定された形式で画面に追加できるようにしたいです。
例えば、

<blockquote> <p>stars</p> <p>comment</p> <p> -- username</p> <p>入力された時間</p> </blockquote>

のように「add review」ボタンの下に入力された内容を表示できるようにしたいです。イベントハンドラとappendChild()を使って下記のコードの様に試行錯誤しても中々うまくいきません。

イメージ説明

JavaScript

1 <aside> 2 <h1>Enter a Review</h1> 3 <form id="review" name="review"> 4 <label id="starL" for="stars"> 5 Stars (1 - 4) 6 </label> 7 <input name="stars" id="stars" type="number" value="4" 8 min="1" max="4" step="1" /> 9 <label id="commL" for="comment"> 10 Comments 11 </label> 12 <textarea name="comment" id="comment" value="comment"></textarea> 13 <label id="userL" for="username"> 14 User 15 </label> 16 <input name="username" id="username" type="text" /> 17 <input id="addReview" value="Add Review" type="button" /> 18 </form> 19 20 <div id="reviews"> 21 <a href="#">More Reviews</a> 22 </div> 23 24 <div id="review"> 25 </div> 26 27 </aside> 28 <script> 29 let listener = function(e){ 30 document.getElementById("review").appendChild() 31 } 32 let addReview = document.getElementById("addReview"); 33 addReview.addEventListener("click", listener); 34 </script>

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

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

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

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

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

Shuteon

2021/09/19 09:53

ご指摘ありがとうございます。うまくいかないのはappedChild()で「入力された値」を表示することができません。createElement("p").appendChild(createTextNode("Sample"))で任意の文字を追加できても「ユーザーから」というものに苦戦です。 複数の要素を表示したかったのでイベントハンドラを使用しました。入力内容を受け取って指定された形式で関数で表示することができないのです。
guest

回答1

0

  • Stars フィールドの値の文字列は document.querySelector('#stars').value で取得できます。
  • Comments フィールドの値の文字列は document.querySelector('#comments').value で取得できます。
  • User フィールドの値の文字列は document.querySelector('#username').value で取得できます。

これらを listener 関数の中で呼んで、お好きなように加工してTextノードを作ってappendChild() すればよいでしょう。

投稿2021/09/21 09:27

int32_t

総合スコア21018

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問