- ベストアンサー
フォームの生年月日のデータから年齢を割り出し、sumitしたい
はじめまして。質問させてください。 現在、個人情報を入力するフォームメールを作成中なのですが、生年月日を<select>タグで選択し、submitを押したときに、項目のチェックと年齢計算をして、年齢を<hidden>タグの値としてsubmitできるfunctionを作りたいのですが、<select>タグ内の情報が多すぎると、エラーになってしまい、submitできません。 下記、ソースです。 function CHK() { frm = document.forms[0]; //生年月日(年) if( frm.birth_year.selectedIndex == 0 ){ frm.birth_year.focus(); alert( "生年月日の年を入力してください。" ); return false; } ↑こんな感じのフォームチェックが10個ぐらい if( frm.birth_year.value != "" && m.birth_month.value != "" && frm.birth_day.value != "") { today = new Date(); tage = today.getFullYear() - Number(frm.birth_year.value); if (Number(frm.birth_month.value) > today.getMonth()+1 ) { tage = tage -1; }else if ( Number(frm.month.value) == today.getMonth()+1 && Number(frm.birth_day.value) > today.getDate() ) { tage = tage -1; } frm.age.value = tage; } frm.submit(); } 色々ためしているのですが、どうしてもエラーになってしまいます。どなたか解決法をご存知の方がいらっしゃいましたら、教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ご提示のソースでテストしてみましたが、 >if( frm.birth_year.value != "" && m.birth_month.value != "" && frm.birth_day.value != "") { の2番目frmがmになっている為エラーとなる以外、Selectを増やしても、optionを増やしても実行可能でしたが? #1さんのおっしゃる様に環境の提示があるとよいのでは?
その他の回答 (1)
- mrumesuke
- ベストアンサー率45% (254/557)
><select>タグ内の情報が多すぎると <slect>~</select>内のoptionが多いと言うことでしょうか。<select>自体の属性が多いと言うことでしょうか。 >色々ためしているのですが、どうしてもエラーになってしまいます。 どんな環境で、どんなエラーになるのでしょうか。