• 締切済み

入力フォームチェックの記述順について

お世話になっております。 氏名、年数、性別、年齢(リストより選択)、郵便番号、メルアド、渡航国(チェックボックスにより)、送信ボタン という入力フォームを作り、入力チェックのJSを入れました。 function datacheck() { var i; var mes = ""; if(q.nametext.value == "") { mes += "氏名を入力してください\n"; } if(q.nen.value == "") { mes += "経験年数を入力してください\n"; }else if(isNaN(q.nen.value)) { mes += "経験年数には数字のみを入力してください\n"; } for(i=0; i<2; i++ ) { if(q.sei[i].checked) {break;} } if(i==2) {mes += "性別を選択してください\n";} for(i=1; i<5; i++) { if(q.age[i].selected) {break;} } if(i==5) {mes += "年齢を選択してください\n";} for(i=0; i<3; i++ ) { if(q.kuni[i].checked) {break;} } if(i==3) {mes += "渡航国を選択してください\n";} if(! q.postal.value.match(/^\d{3}\-\d{4}$/) ) {mes += "郵便番号は 半角数字でハイフン(-)をはさみ、3桁-4桁入力してください\n";} if(! q.mail.value.match(/[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,3}/) ) {mes += "メールアドレスを正しく入力してください\n";} if(mes !="") {alert(mes); return false;} else {return confirm("送信してもよろしいですか?");} } 動くのですが、どうしても不満な点があります。 HTMLの見かけ上、メルアドの下にあるのが望ましいのですが、JSの「渡航国」の部分をメルアドの下にもってくると、「渡航国」が認識されません。 試しに、「氏名」も同じです。 同じ形式のプログラムをif文、for文別に固めて置かないと動かないものなのでしょうか? よろしくお願いします。

みんなの回答

回答No.1

ご自分で書かれたのであれば お判りとは思いますが・・・ 最後の部分、 if(mes !="") {alert(mes); return false; }else { return confirm("送信してもよろしいですか?"); } このブロックの前に配置すれば、スルーはされないと思います。

関連するQ&A