※ ChatGPTを利用し、要約された質問です(原文:フォームのname値を配列にしてJavaScriptでフォームのチェックをする方法)
JavaScriptでフォームのチェックをする方法と注意点
このQ&Aのポイント
JavaScriptを使用してフォームのチェックを行う方法と注意点について説明します。
フォームのname値を配列にする必要がある場合、特定の処理があることがあります。
半角数字のチェックにはisNaN()関数を使用し、エラーメッセージはalert()関数で表示します。
フォームのname値を配列にしてJavaScriptでフォームのチェックをする方法
JavaScriptでフォームの半角数字のチェックをしたいのですが、
form内容をCGI(PHP)に渡すためname値を配列にしないといけないのですが、
以下のスクリプトだとエラーが出てしまいます。
*実際はif(isNaN~)と<input~>をループで書き出しており、行数が不特定なので
それぞれ別のname値を使うことができない状態です。
<script language="JavaScript">
function check() {
if(isNaN(document.form1.hoge[0].value)){
alert("値は半角数字で入力してください。");
return(false);
}
if(isNaN(document.form1.hoge[1].value)){
alert("値は半角数字で入力してください。");
return(false);
}
return(true);
}
</script>
<form method="post" action="xxx.cgi" onSubmit="return check()" name="form1">
<input type="text" name="hoge[0]">
<input type="text" name="hoge[1]">
</form>
特にCGIに渡す必要がなければ
<input type="text" name="hoge">
<input type="text" name="hoge">
としてやればチェックができるのですが、どうしても次の
処理があるためname値を配列にする必要があります。
解決方法がわかる方がおられましたらご教授ください。
以上よろしくお願いいたします。
お礼
ありがとうございました! makokokoさんのスクリプトで思ったとおりの動作しました。 ついでに空白チェックも以下のようにしてみました。 if(document.all[i].value==""){ alert("値を入力してください。"); return false; } どうもありがとうございました。