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

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

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

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

HTML

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

Q&A

解決済

2回答

560閲覧

jsの削除処理を簡潔に書きたい。

umi3

総合スコア18

JavaScript

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

HTML

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

0グッド

0クリップ

投稿2021/07/04 07:23

前提・実現したいこと

「登録する」ボタンを押したらフォームの中身をすべて空にしたいです。
JavaScriptで作成することは出来たのですが、もっと簡潔に書くことは出来ないでしょうか?

発生している問題・エラーメッセージ

html

1 <table class="form" id="form"> 2 <tr> 3 <th>予定</th> 4 <td><input id="todo" type="text" placeholder="予定を入力"></td> 5 <th>日時</th> 6 <td><input id="date" type="datetime-local"></td> 7 </tr> 8 <tr> 9 <th>お金</th> 10 <td><input id="price" type="number" placeholder="金額を入力"></td> 11 <th>期日</th> 12 <td><input id="duedate" type="datetime-local"></td> 13 </tr> 14 <tr> 15 <th>持ち物</th> 16 <td><input id="item" type="text"></td> 17 <th>メモ</th> 18 <td><input id="memo" type="text"></td> 19 </tr> 20 </table> 21 <div id="addButton"><button type="submit">登録する</button></div>

Js

1 登録後のフォームリセット 2 let formElement = document.getElementById('todo'); formElement.value = ""; 3 let formElement = document.getElementById('date'); formElement.value = ""; 4 let formElement = document.getElementById('price'); formElement.value = ""; 5 let formElement = document.getElementById('duedate'); formElement.value = ""; 6 let formElement = document.getElementById('item'); formElement.value = ""; 7 let formElement = document.getElementById('memo'); formElement.value = ""; 8

補足情報

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

とりあえずリセットの方はコンパイルエラーなので、そこは直しましょう。

単純に Formタグが無いしform.reset()をしたい…訳でもないのかな。
質問の要件としてはdocument.querySelectorAll()を使うのが近いですかね。

Document.querySelectorAll()
https://developer.mozilla.org/ja/docs/Web/API/Document/querySelectorAll

方針

  • 対象のタグをリストとして取得する
  • リストをforループ等で回してvalueに空文字を入れる

ヒント

querySelectorAll()でidを指定する場合は、#を付けます。
また、or条件を付ける場合は、,(カンマ)で区切ります。

こんなHTMLがある時に

html

1<div> 2 <p id="hoge">ほげ</p> 3 <p id="fuga">ふが</p> 4 <p id="piyo">ぴよ</p> 5</div> 6<button onclick="test()">push!</button>

このようなスクリプトを記述すると

js

1function test() { 2 const elements = document.querySelectorAll('#hoge, #fuga'); 3 elements.forEach(element => { 4 console.log(element.textContent); // ここにリセット処理を書けば出来そうですね 5 }); 6}

pushボタンを押下した時はコンソールにこのように出てきます。

console

1ほげ 2ふが

投稿2021/07/04 07:47

neonemo

総合スコア191

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

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

0

サブミットすれば基本的にはページ遷移しますので
値をクリアすること自体が意味がないと思います

投稿2021/07/05 01:34

yambejp

総合スコア115010

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

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

neonemo

2021/07/05 03:49

言われてみればそうですね。 気になってちょっと試してみたんですが、Win版Chromeの場合は formタグが無い場合はsubmit属性のボタン押下時に特に動きはなさそうです。 タグありはaction属性値へ遷移。タグありでもaction属性が無い場合は404。 まあ、HTMLの構成は質問者さんのみぞ知るという事で。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問