電子書籍の厳選無料作品が豊富!

はじめまして、メールフォームを作成し、入力項目がすべて入力されていることを確認するためにJava Scriptを使うことにしました。
小説HTMLの小人さん(​http://htmldwarf.hanameiro.net/tools/Make_FormCh …​) で作成したスクリプトを使用しようとしたのですが、テキスト入力、ラジオボタンはうまくいくものの、チェックボックスが選択されていても「選択されていません」のエラーがでます。
アドバイスをいただければ幸いです。
よろしくお願いいたします。

メールフォームのあるページ ​https://secure.actrix.co.nz/goldenbaykayaks.co.nz/​ 

<!--
function FormCheck(Form) {
Error = new Array();
i = 0;

// NameBooking Check
if (Form["NameBooking"].value == "") {
Error[i] = "Name of Booking is required.";
i++;
}

// Cardtype Check
j = 0;
k = 0;
while (j < Form["Cardtype"].length) {
if (Form["Cardtype"][j].checked == true) {
k++;
}
j++;
}
if (k == 0) {
Error[i] = "Select the card type.";
i++;
}

<省略>
------------ここから問題のチェックボックス部分-------------------
// Policy check
j = 0;
k = 0;
while (j < Form["condition"].length) {
if (Form["condition"][j].checked == true) {
k++;
}
j++;
}
if (k == 0) {
Error[i] = "Accepting the policy is not selected.";
i++;
}

------------ここまで問題のチェックボックス部分-------------------
// Alart
if (Error.length > 0) {
ErrorText = Error.join("\n");
alert ("The form is not sent.\n\n"+ErrorText);
return false;
}
}
// -->

A 回答 (1件)

ご記入のソースでは同じ名前のチェックボックスが2つ以上あり


そのうちのひとつでもチェックがあればOKっていうフローですね。

いろいろやり方はありますが、最初からconditionというチェック
ボックスがひとつしかないとわかっているならチェックするのは

if(Form["condition"].checked) k=1;

で十分でしょうね
    • good
    • 0
この回答へのお礼

ありがとうございます。
教えていただいたとおり修正したところきちんと作動しました。
ありがとうございました。

// Policy check
k = 0;
if (Form["condition"].checked)k=1;

if (k == 0) {
Error[i] = "Accepting the policy is not checked.";
i++;
}

お礼日時:2007/02/01 04:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!