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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Q&A

解決済

2回答

1520閲覧

文字数をカウントして、0の際はアラートを表示する。(HTML・JavaScript)

tatakauneko3

総合スコア4

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

0グッド

0クリップ

投稿2021/08/08 04:06

前提・実現したいこと

HTML・JavaScriptを用いて、入力フォームの文字が0の場合アラートを表示するとういことを行いたいです。

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

動かない。ただ、エラーも出ないので何が悪いのかも分からない状態です。

エラーメッセージ:なし

該当のソースコード

HTMLJavaScript

1<!DOCTYPE html> 2<html> 3<head> 4<meta charset="UTF-8"> 5<title>練習</title> 6<script type="text/javascript"> 7function spellCheck(){ 8 text1 = document.getElementById('t1'); 9 if(text1.length == "0"){ 10 alert("未入力です"); 11 } 12} 13</script> 14</head> 15<body> 16 <form> 17 <input type="text" id="t1"> 18 <input type="button" id="b1"value="チェック" onclick=spellCheck()> 19 </form> 20</body> 21</html>

試したこと

text1.length == "0" ←をNULLにすると動くのですが、文字が入力されていてもアラートが出てしまっています。if分の前にconsole.log("Hello Would")をすると動くのでonclick自体は動いていると思うのですが、、、

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

eclipseで作成しております。

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

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

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

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

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

guest

回答2

0

text1.value.length == 0 が正しい条件です。

これぐらいの挙動なら、JavaScriptはいっさいなしでも実現できます。

  • <input type="text"...>required 属性を追加
  • <input ttype="button" ...>type=submit に変更して onclick=... を削除

投稿2021/08/08 04:54

int32_t

総合スコア21012

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

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

tatakauneko3

2021/08/08 05:42

ありがとうございます。問題がjavascript 指定だったので、参考にします。
guest

0

ベストアンサー

text1.value.lengthです

投稿2021/08/08 04:14

kairi003

総合スコア1330

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

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

tatakauneko3

2021/08/08 05:43

ありがとうございます。value がないと動かないんですね。valueも属性で認識してましたが間違いないでしょうか。
kairi003

2021/08/08 05:50

基本的にinput要素の内容はvalueに格納されます。 valueはhtmlの属性であるという認識は間違っていませんが、input要素への入力によって変更されます。 type=textならテキストボックスのテキストが文字列としてvalueに格納されます。 この場合はつまり、「input要素text1が保持している文字列valueの長さ」ということでtext1.value.lengthとなります。 lengthはあくまで文字列が持つプロパティであり、input要素自体にはlengthというプロパティはありません。
tatakauneko3

2021/08/08 12:24

ありがとうございます。とても勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問