プロが教えるわが家の防犯対策術!

お世話になっております。
氏名、年数、性別、年齢(リストより選択)、郵便番号、メルアド、渡航国(チェックボックスにより)、送信ボタン
という入力フォームを作り、入力チェックの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文別に固めて置かないと動かないものなのでしょうか?

よろしくお願いします。

A 回答 (1件)

ご自分で書かれたのであれば


お判りとは思いますが・・・

最後の部分、

if(mes !="") {alert(mes); return false;
}else {
return confirm("送信してもよろしいですか?");
}

このブロックの前に配置すれば、スルーはされないと思います。
    • good
    • 0

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