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

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

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

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

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

671閲覧

出力した文字を綺麗に枠に収めたい

Hagiaki

総合スコア6

JavaScript

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

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/11/26 14:52

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
VScodeにて簡易的なチケット購入フォームを作成しております。
入力した内容を一つの枠に収めて出力する機能を実装中に以下の問題が発生しました。

発生している問題

「こちらの情報で確認しました。」の文から下が表示されない

該当のソースコード

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <link rel="stylesheet" href="original.css"> 6 <title>チケット購入フォーム</title> 7</head> 8<body> 9 <h1>チケット購入フォーム</h1> 10 <h4>・名前</h4> 11 <input type="text" id="user-name" size="40" maxlength="20"> 12 <h4>・日程</h4> 13 <h6>月</h6> 14 <input type="text" id="month" size="20" maxlength="10"> 15 <h6>日</h6> 16 <input type="text" id="day" size="20" maxlength="10"> 17 <h4>・時間</h4> 18 <h6>時</h6> 19 <input type="text" id="hour" size="20" maxlength="10"> 20 <h6>分</h6> 21 <input type="text" id="minute" size="20" maxlength="10"> 22 <h4>・視聴作品</h4> 23 <input type="text" id="movie-title" size="40" maxlength="20"> 24 <h2></h2> 25 <button id="original">確認</button> 26 <div id="result-area"></div> 27 <script src="original.js"></script> 28</body> 29</html>

JavaScript

1'use strict'; 2const userNameInput=document.getElementById('user-name'); 3const MonthInput=document.getElementById('month'); 4const DayInput=document.getElementById('day'); 5const HourInput=document.getElementById('hour'); 6const MinuteInput=document.getElementById('minute'); 7const movieTitleInput=document.getElementById('movie-title'); 8const originalButton=document.getElementById('original'); 9const resultDivided=document.getElementById('result-area'); 10//各種変数の宣言 11 12function removeAllChildren(element){ 13 while(element.firstChild){ 14 element.removeChild(element.firstChild); 15 } 16} 17 18originalButton.onclick=()=>{ 19 const userName=userNameInput.value; 20 const Month=MonthInput.value; 21 const Day=DayInput.value; 22 const Hour=HourInput.value; 23 const Minute=MinuteInput.value; 24 const movieTitle=movieTitleInput.value; 25 if(userName.length===0||Month.length===0||Day.length===0||Hour.length===0||Minute.length===0||movieTitle.length===0){//記入漏れがある場合、ボタンをクリックしても反応しない 26 return; 27 } 28 29 removeAllChildren(resultDivided); 30 const header=document.createElement('h3'); 31 header.innerText='こちらの情報で確認しました。'; 32 resultDivided.appendChild(header); 33 34 //入力された情報を出力 35 const paragraph=document.createElement('p'); 36 paragraph.innerText='名前:' + userName + '    ' + Month + '月'+ Day + '日'<br>Hour + '時' + Minute + '分'<br>movieTitle; 37 resultDivided.appendChild(paragraph); 38};

CSS

1body{ 2 background-color: #ffb1ff; 3 color: #fdffff; 4 width: 500px; 5 margin-right: auto; 6 margin-left: auto; 7} 8button{ 9 padding: 5px 20px; 10 background-color: #d81da9; 11 color: #fdffff; 12 border-color: #e72ee7; 13 border-style: none; 14} 15input{ 16 height: 20px; 17} 18p{ 19 padding: 5px; 20 border: 1px solid #fdffff; 21}

試したこと

paragraph2,paragraph3などのように各情報を分割した変数で出力した

各項目が別々に枠で囲われた

補足情報(FW/ツールのバージョンなど)

Visual Studio Codeを使用

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

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

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

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

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

guest

回答1

0

ベストアンサー

ブラウザの開発者ツールのコンソールにエラーが出ていると思います。確認してください。

js

1paragraph.innerText='名前:' + userName + '    ' + Month + '月'+ Day + '日'<br>Hour + '時' + Minute + '分'<br>movieTitle;
  • 文字列引用符の外側に<br>というタグを書くことはできません。
  • innerText はタグを解釈しません。

ここは innerHTML を使うべきかと思います。あとテンプレートリテラルを使うとコードが簡潔になるのでオススメです。

js

1paragraph.innerHTML = `名前:${userName}    ${Month}${Day}2<br>${Hour}${Minute}<br>${movieTitle}`;

投稿2021/11/26 15:13

int32_t

総合スコア21695

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

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

Hagiaki

2021/11/27 13:33

無事に収まりました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問