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

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

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

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

Q&A

解決済

1回答

308閲覧

javascript txtboxが空白の場合の処理

beginner001

総合スコア29

JavaScript

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

0グッド

0クリップ

投稿2020/02/22 01:35

javascript

1<html> 2<head> 3</head> 4<body> 5<form name="zei"> 6 <input type="text">単価<br> 7 <input type="text">数量<br> 8 <input type="button" value="計算" onclick="zeikomi()"> 9</form> 10<script> 11const TAX_RATE = 0.1; 12function zeikomi(){ 13 let cost = parseInt(document.zei.elements[0].value); 14 let num = parseInt(document.zei.elements[1].value); 15 let taxCost; 16 let totalCost; 17 taxCost = cost * TAX_RATE 18 totalCost = (cost + taxCost) * num; 19 if (cost.value==""){ 20 alert ="データを入力してください"; 21} 22 alert(totalCost); 23} 24 zeikomi(); 25</script> 26</body> 27</html>

昨日質問をして解答をいただきました。
ところが実行すると まずNanが表示されてしまうので以下の2行を追加してみました。

if (cost.value==""){
alert ="データを入力してください";

costの欄が空白だったら「データを入力してください」と表示させたいのですが、うまくいきません。どこに問題がありますか。
ご教授頂けるとありがたいです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

  • costの欄が空白の時、変数costNaNです。
  • NaNvalueというプロパティはありません。エレメントと混同されているかと思います。
  • alertは関数ですから、呼び出すときはかっこをつけます。

js

1 if (cost.value==""){ 2 alert ="データを入力してください"; 3}

js

1 if (isNaN(cost)){ 2 alert("データを入力してください"); 3}

投稿2020/02/22 02:06

Lhankor_Mhy

総合スコア36960

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

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

beginner001

2020/02/22 03:44

ご指摘ありがとうございました。直して実行してみましたところ、今度は空白のまま計算しても、数字を入れて実行してもうんともすんとも言いません。 何かたりないのでしょうか?
beginner001

2020/02/23 04:03

失礼いたしました。 下記のようにして実行しました。 <html> <head> </head> <body> <form name="zei"> <input type="text">単価<br> <input type="text">数量<br> <input type="button" value="計算" onclick="zeikomi()"> </form> <script> const TAX_RATE = 0.1; function zeikomi(){ let cost = parseInt(document.zei.elements[0].value); let num = parseInt(document.zei.elements[1].value); let taxCost; let totalCost; taxCost = cost * TAX_RATE totalCost = (cost + taxCost) * num; if (isNaN(cost)){ alert ="データを入力してください"; } alert(totalCost); } zeikomi(); </script> </body> </html>
Lhankor_Mhy

2020/02/23 04:51

ご解決、ということでいいのですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問