メールフォームチェック

フォームを要求されてるけど、1円も出してもらえないような案件で、
とにかくページを減らして、
PHPの方では確認画面を出さないで、送信させるだけとかそんな感じの用途で。


メモ。


HTML

<form name="form" action="form.php" method="post" onSubmit="return check()">
  お問い合わせ内容を選択してください<br />
  <ul>
    <li><input name="field1[]" value="問い合わせ内容1" type="checkbox">
    <label>問い合わせ内容1</label></li>
    <li><input name="field1[]" value="問い合わせ内容2" type="checkbox">
    <label>問い合わせ内容</label></li>
    <li><input name="field1[]" value="問い合わせ内容3" type="checkbox">
    <label>問い合わせ内容3</label></li>
    <li><input name="field1[]" value="問い合わせ内容4" type="checkbox">
    <label>問い合わせ内容4</label></li>
  </ul>
  お名前:<br />
  <input name="name" type="text" /><br />
  フリガナ:<br />
  <input name="kana" type="text" /><br />
  メールアドレス:<br />
  <input name="email" type="text" /><br />
  電話番号<br />
  <input name="phone" type="text" /><br />
  備考<br />
  <textarea name="comment" cols="50" rows="10"></textarea>
  <br />
  <input name="submit" type="submit" id="submit" value="送信" />
</form>

JS

function check(){
	var flag = 0;
	var errorMes = new Array();
	var chkCount = 0;
	for (var ii=0;ii<document.form.elements['field1[]'].length;ii++){
		if ((document.form.elements[ii].name=='field1[]') && (document.form.elements[ii].checked)) {
			chkCount ++;
		}
	}
	if(chkCount==0){ // 「お問い合わせ内容」の選択をチェック
		flag = 1;
		errorMes.push("お問い合わせ内容を選択してください。\n");
	}
	if(!document.form.name.value){ // 「お名前」の入力をチェック
		flag = 1;
		errorMes.push("お名前をご入力ください。\n");
	}
	if(!document.form.kana.value){ // 「フリガナ」の入力をチェック
		flag = 1;
		errorMes.push("フリガナをご入力ください。\n");
	}
	if(!document.form.email.value){ // 「メールアドレス」の入力をチェック
		flag = 1;
		errorMes.push("メールアドレスをご入力ください。\n");
	}else{
		str = document.form.email.value;
		var tmp = str.match("^[0-9A-Za-z._-]+@[0-9A-Za-z.-]+$");
		if (!tmp){
			flag = 1;
			errorMes.push("メールアドレスをご確認ください。\n");
		}
	}
	if(!document.form.phone.value){ // 「電話番号」の入力をチェック
		flag = 1;
		errorMes.push("電話番号をご入力ください。\n");
	}
	if(!document.form.comment.value){ // 「備考」の入力をチェック
		flag = 1;
		errorMes.push("備考ご入力ください。\n");
	}
	// 設定終了
	if(flag){
		var n = errorMes.length;
		var errorStr ="";
		for(i=0;i<n;i++){
			errorStr+= errorMes[i];
		}
		window.alert(errorStr); // 入力漏れがあれば警告ダイアログを表示
		return false; // 送信を中止
	}else{
		return true; // 送信を実行
	}
}


こんなんでいいのだろうか?