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

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

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

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

Q&A

解決済

2回答

1148閲覧

javascriptが動作できません

aquz5200

総合スコア16

JavaScript

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

0グッド

0クリップ

投稿2015/08/02 05:46

下記の記述で表示されないのですが、どこに原因があるかわかりませんでしょうか?(さらによい表現方法でもあれば教えていただけると助かります。)

<script type="text/javascript"> function sum_chk_value(gname){ var r= document.getElementsByName(gname); var i; var sum=0; for (i=0; i<r.length; i++) { if (r[i].checked == true) { sum+=parseInt(r[i].value,14); } } return (sum); } function my_click(){ var a_sum=sum_chk_value("A"); var b_sum=sum_chk_value("B"); var c_sum=sum_chk_value("C"); switch(sum){ case a_sum==b_sum && a_sum==c_sum:alert("同数!"); break; case a_sum==b_sum && a_sum<c_sum:alert("CC!"); break; case a_sum>b_sum && b_sum>c_sum:alert("AA!"); break; case b_sum>a_sum && a_sum>c_sum:alert("BB!"); break; case a_sum==b_sum && a_sum>c_sum:alert("AB!"); break; } } </script>

<INPUT type="checkbox" name="A" value="2">国語1<BR>
<INPUT type="checkbox" name="A" value="2">国語2<BR>
<INPUT type="checkbox" name="A" value="2">国語3<BR>
<INPUT type="checkbox" name="B" value="2">数学1<BR>
<INPUT type="checkbox" name="B" value="2">数学2<BR>
<INPUT type="checkbox" name="C" value="2">英語1<BR>
<INPUT type="checkbox" name="C" value="2">英語2<BR>
<BR>
<input type="button" onclick="my_click()" value="計算">

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

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

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

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

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

guest

回答2

0

ベストアンサー

1.
sum+=parseInt(r[i].value,14);
ですが、14進数でvalueを数値化している意味が不明です。
これは
sum+=parseInt(r[i].value,10);
でいいです。または、個数を数えるだけなら
sum++;
で大丈夫です。

switch文が間違っています。
switch(sum) {
とするならば、case文にはsumと一致する値で比較することになります。
今回の目的では、if文の連続
if () {
} else if () {
} else if () {
} else if () {
} else if () {
}
が妥当な所でしょう。

投稿2015/08/02 06:39

rik

総合スコア1151

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

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

aquz5200

2015/08/02 07:04

ありがとうございます、希望の結果を得ることが出来ました。
guest

0

こんにちは。
軽くコピペして動かしてみましたが、実行時のエラーが出ています。
ブラウザでF12キーを押すと、エラーコンソールのようなものが表示されますので、
実行時のエラーやシンタックスエラーはそこで分かります。

とりあえず、貼って頂いたものは、my_click()switch(sum){ のsumが参照できないエラーになっています。
仕様がわからないのでなんとも言えませんが、ここはswitch文ではなく、if文を使う感じなのではないでしょうか。
他にもエラーがあるかもしれませんので、上記方法で調べてみてください。

投稿2015/08/02 06:19

編集2015/08/02 06:24
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

aquz5200

2015/08/02 07:05

ありがとうございます、参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問