2011-10-21 11 views
0

こんにちは、私はPHPでいくつかのフィールドをループしています。Jquery検証?

$number = 5; 
for ($i = 1; $i <= $number ; $i++) { 
name : <input name="name[]" type="text" class="required" title="Name Surname Please"/> 
} 
フィールドを制御するためにjqueryの検証を使用して

アム、

それだけループの最初のフィールドを検証します。他のフィールドをクリックした後でのみ、プラグインが機能します。

誰かがスクリプトを助けたり

ことを説明することができます:

<form action="" method="post" id="form" name="form"> 
    <table width="100%" border="0" cellspacing="5" cellpadding="0"> 
    <?php for ($i = 1; $i <= 5; $i++) {?> 
    <tr> 
     <td>name : 
     <input name="name[]" type="text" class="required" title="Name Surname Please"/></td> 
    </tr> 
    <?php }?> 
    </table> 
    <input name="submit-form" type="submit" value="submit"/> 
</form> 
<script src="/jquery.validate.js" type="text/javascript" charset="utf-8"></script> 
<script type="text/javascript"> 

$().ready(function() { 
    $("#form").validate({ 
     errorLabelContainer: $("#form div.error") 
    }); 


}); 
</script> 
+1

JavaScriptのページがどこにあるのか、どこで呼び出されるのかわかるように、もっとコードを投稿できますか?おかげで –

答えて

0

私は問題があなたのname属性に関係していると思います。 Jqueryのバリデーションは、name属性のDOMを検索し、そのエラーを名前に一致させることによって、エラーをどのフィールドに入力するかを見つけます。すべての入力が同じ名前のname[]を持っているので、最初のものを見つけてそこにエラーを置くだけかもしれません。

は、このようなあなたの名前はユニーク作ってみましょう:

<form action="" method="post" id="form" name="form"> 
    <table width="100%" border="0" cellspacing="5" cellpadding="0"> 
    <?php for ($i = 1; $i <= 5; $i++) {?> 
    <tr> 
     <td>name : 
     <input name="name[<?php echo $i; ?>]" type="text" class="required" title="Name Surname Please"/></td> 
    </tr> 
    <?php }?> 
    </table> 
    <input name="submit-form" type="submit" value="submit"/> 
</form> 
<script src="/jquery.validate.js" type="text/javascript" charset="utf-8"></script> 
<script type="text/javascript"> 

$().ready(function() { 
    $("#form").validate({ 
     errorLabelContainer: $("#form div.error") 
    }); 


}); 
</script> 

name属性値にインデックスを注入する方法の構文が正しくない可能性がありますので、私はPHPを知りません。

+0

おかげで!ええ、それはクールトラップ名前に行く! – user505790