dポイントプレゼントキャンペーン実施中!

jqueryで入力チェックを行うプログラムを実装したく、「jquery.validate.js」を利用したいと思っているのですが、inputのnameが配列の場合、うまく動作しません。

ご存知の方、いらっしゃいましたら、ご教授いただけると幸いです。

以下に動作しないコードを貼り付けます。
尚、下記コードで「[]」を取り除いて実行すると正常に動作するため、nameに配列を指定するのが問題であると考えています。
どなたか、よろしくお願いいたします。

<form method="post" id="check_form1">
名前 <input name="name[]" type="text" id="name">
メール <input name="mail[]" type="text" id="mail">
<input type="submit" name="Submit" value="Submit"/>
</form>

<!-- 入力チェック -->
<script type="text/javascript" src="js/jquery.validate.js"></script>
<script type="text/javascript">
$(function(){
$("#check_form1").validate({
rules: {
name[] :{
required: true
},
mail[] :{
required: true,
email: true
}
},
messages: {
name[] :{
required: "お名前を入力してください"
},
mail[] :{
required: "メールアドレスを入力してください",
email: "正しいメールアドレスを入力してください"
}
}
});
})
</script>

A 回答 (1件)

こんばんわ!



name属性に"["や"]"は使えませんよ。(確か…)
なので動作しないのです。
やりたくなる気持ちは分かりますが…(^^;

name属性は、同じ名前にして複数配置しておけば
勝手に配列で渡ってきます。
それを利用する…ではダメでしょうか?
    • good
    • 0
この回答へのお礼

[]を指定しなくても配列になるんですね。
それは知らなかったです。ありがとうございます。

あともう一点別の方法を発見したのですが、class名を"required"にすれば、nameを関連付けなくても入力チェックができることがわかりました。

ご回答ありがとうございました。

お礼日時:2012/12/12 09:32

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