OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

alert表示で計算結果がうまく表示しません

  • すぐに回答を!
  • 質問No.226473
  • 閲覧数119
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 45% (51/112)

alert表示で計算結果がうまく作動しません。
全問正解しても『0』と表示されてしまいます。
for文がうまくいっていないのだと思いますが
どう解決していいのか、まったく解りません。
おわかりになる方がいらっしゃいましたら教えて下さい。
<script language="JavaScript">
<!--
function func() {
$A = new Array(6);
$A[1] = "n";
$A[2] = "n";
$A[3] = "n";
$A[4] = "n";
$A[5] = "n";
var $q_no;
var $i_end;

var $i = parseFloat($i);
var $ans= parseFloat("0");
$i_end = parseFloat($q_no);
$i_end = $i_end + 1;
for($i; $i < $i_end; $i++){
if ($A[$i] == document.Frm_Q.Q[$i].value){
$ans= $ans + 10;
}
}
alert($ans);
}
// -->
</script>
<form name="Frm_Q">
<input type="radio" name="Q[1]" value="Y">はい<input type="radio" name="Q[1]" value="n">いいえ<br>###Q5まで続く###
<input type="button" value=" 採 点 " onClick="func()">
<input type="reset" value="リセット">

</form>
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全1件)

  • 回答No.1
レベル8

ベストアンサー率 38% (15/39)

こんばんは。 for文がうまくいってないとのことですが、問題は初期化されていない変数にあります。 この例だと   $q_no   $i_end   $i が初期化されていないので、NaNというでたらめな値が入っています。 これは、適当なところでalert($q_no)などとしてみればわかります。 NaNに1を足してもNaNなので、for文の条件はNaNとNaNの比較になり 結果としてfo ...続きを読む
こんばんは。
for文がうまくいってないとのことですが、問題は初期化されていない変数にあります。
この例だと
  $q_no
  $i_end
  $i
が初期化されていないので、NaNというでたらめな値が入っています。
これは、適当なところでalert($q_no)などとしてみればわかります。
NaNに1を足してもNaNなので、for文の条件はNaNとNaNの比較になり
結果としてfor文の中へは入りません。

また、for文の中に入っても、Qという配列は定義されていないため、
ここでも望む結果が得られません。

以上のことをふまえて、関数部分だけ書き換えてみました。
($は不要なので書いてません)
不明な点はがんばって調べてください。
また、alert関数を使えば変数の値が見られるので、最初のうちは各行ごとに
変数の値をチェックしてもいいかもしれませんね。

function func()
{
$A = new Array(6);
$A[1] = "n";
$A[2] = "n";
$A[3] = "n";
$A[4] = "n";
$A[5] = "n";
var q_no = 5;
var i_end;

var i = 1;
var ans = 0;
i_end = q_no;
i_end = i_end + 1;
var btn_name = "";
var reply = "";
for(i=1; i < i_end; i++)
{
btn_name = "Q["+i+"]";
if(document.Frm_Q[btn_name][0].checked)
reply = "Y";
else
reply = "n";
if ($A[i] == reply)
{
ans= ans + 10;
}
}
alert(ans);
}
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ