1

jQuery を使用して PHP for ループで生成された入力ボックスを検証するにはどうすればよいですか? 私のコードでは、jquery.min.js ライブラリと jquery.validate.min.js を使用し、単純に検証関数を呼び出しています。

最初の行のみでエラー メッセージが表示されますが、他の行では表示されません。どんな提案でも大歓迎です...事前に感謝します。

<html>
<head>
<TITLE></TITLE>
<script type="text/javascript" src="first/js/jquery.min.js"></script>
<script type="text/javascript" src="first/js/jquery.validate.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){

         $("#frm").validate({
                    rules:{
                        'name[]':{
                            required:true
                        },
                        'mail[]':{
                            required:true,
                            email:true
                         }
                    },
                    messages:{
            'name[]':{
                required:"Enter name"
            },
             'mail[]':{
                            required:" Enter mail",
                            email:"Enter valid mail"
                        }
                    },

                    submitHandler:function(){
                        form.submit();
                    }
                });
            });
</script>
</head>

<body>
<form name="frm" id="frm" action="exa.php">
<table>
<tr><TH>Name:</TH><TH>Email:</TH></tr>
<?php
for ($i=1;$i<=3;$i++)
{
?>
<tr><TD><input name="name[]" type="text" id="name[]" class="required" minlength="2"/></TD>
<TD><input name="mail[]" type="text" id="mail[]" class="required email" /></TD></tr>
<?php
}
?>

<tr><TD colspan="2" align="center"><input type="submit" name="submit" value="Submit"></TD></tr>

</table>
</form>
</body>
</html>
4

2 に答える 2

1

現在、最新のブラウザのほとんどは HTML5 互換です。HTML5 互換ブラウザから Web サイトにアクセスすると思われる場合は、requiredfor 属性<input>emailtype 属性を使用することをお勧めします。

例えば:

<input type='text' name='name[]' required />
<input type='email' name='email[]' required />    

<!DOCTYPE HTML>これらは、前に書いた場合にのみ機能します<html>

これが入力フィールドを検証する最もクリーンな方法だと思います

于 2013-05-24T13:35:54.890 に答える
1

確かに、それは当然のことではないようです。

ただし、jquery.validate.js のソースは変更できます。別のスタックオーバーフローの投稿があります:

https://stackoverflow.com/a/4136430/432513

特に:http://www.codeboss.in/web-funda/2009/05/27/jquery-validation-for-array-of-input-elements/

于 2013-05-24T13:47:50.547 に答える