人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

javascriptのフォームの質問をいくつかさせてください。
http://1811way.com/work008/index03.html
1.「申込(チェックをお入れください)※」
(新入、相談に5つのチェックボックスがあります)
Q:このうちの1つもチェックがついていない時、
alert(どれか1つは選んでください)を出す。

2.「申請しますか?※」のうち、申請する、申請しない
のどちらかにチェックを入れるのを必須とする。
さらに
「申請する」にチェックが入った場合、
会員番号を入力必須とする。


以上1,2を
function checkForm()
に記述してください。

3.入力が終わったら、「同意して送信」ボタンをクリックすると
check.php に飛ぶ。


注1:フォームは
http://1811way.com/work008/index03.html

ソースは
http://1811way.com/work008/index03.txt

注2:check.php はザックシ書いてあるだけです。
このフォームが終わったら考えますが、index03.htmlと同じフォルダーに
アップしてあります。
一応ソースは
http://1811way.com/work008/check.txt
です。

●質問者: kohhi
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

質問者から

注3:
2012.6に似たような質問をしております。
http://q.hatena.ne.jp/1340848961
不都合・追加の部分を書いていただけると助かります。
よろしくお願いします。


1 ● a-kuma3
●500ポイント ベストアンサー

こんな感じになると思います。
f.submit() の前に、コードを足してます。

function checkForm() {

 var f = window.document.form1;

 ...

//ここから
 //申込
 {
 var courses = document.getElementsByName("course[]");
 var checked = 0;
 for (var i = 0 ; i < courses.length ; ++i) {
 if (courses[i].checked) {
 checked += 1;
 }
 }
 if (checked == 0) {
 alert("コースのどれかを、最低ひとつは選んでください"); // ちょっと文言を変えてます
 return false;
 }
 }

 // 申請する/しない
 {
 var fps = document.getElementsByName("fp");
 if (! fps[0].checked && ! fps[1].checked) {
 alert("「申請する/しない」のどちらかを選んでください");
 return false;
 }
 if (fps[0].checked) {
 if (f.kaiin_id.value == "") {
 alert("会員番号を入力してください");
 return false;
 }
 if (! /^[A-z0-9]+$/.test(f.kaiin_id.value)) {
 alert("会員番号は、半角英数字で入力してください");
 return false;
 }
 }
 }
//ここまで

 f.submit();
}

会員番号は半角英数字のみ、とあるので、そのチェックも足してみました。
ime-mode は disabled になってますが、コピペで全角を貼り付けられるので。


kohhiさんのコメント
お返事いただきありがとうございました。 出来ました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ