4

jquery validate を使用してフォームを検証したいのですが、エラー ラベルを特定の場所に配置したいと考えています。以下の例は、 に入れられたエラー ラベルを示しています<span class="error_label"></span>。私の質問は、特定の場所でエラープレースメントを作成する方法です.以下の例で、私を助けてください..ありがとう?

<script>
$(document).ready(function (){
$("#fm_regis").validate({
    rules :{
        name: {
            required: true,
        },
    },
    errorPlacement: function(error, element) {      
        //$(element).next('span .error_label :first').html(error);
        //$('.error_label').html(error);
        //$('.error_label').html(error);
        $(element).closest('.error_label').html(error);
    },
    messages: {
        name: {
            required: "Please input a username",
        },
    }
});
});
</script>

    <form name="fm_regis" id="fm_regis">
    <table>   
      <tr>
         <td width="100">Nama</td>
         <td>:</td>
         <td><input type="text" name="name" id="name" size="30"/></td>
      </tr> 
      <tr>
         <td width="100"></td>
         <td></td>
         <td><span class="error_label"></span></td>
      </tr>
   </table>
     <input type="submit" value="Register"/>
   </form>
4

3 に答える 3

4

これを試して:

$("#fm_regis").validate({
  rules :{
    name: {
      required: true,
    },
  },   
  errorLabelContainer: "#id-of-your-specific-place",
  // More of your code
})

そして、関数を取り除きerrorPlacement:ます。

于 2013-04-19T07:38:15.627 に答える
4

特定の状況では、次のようなことができます。

$(element).closest('tr').next().find('.error_label').html(error);

http://jsfiddle.net/kqTQu/

于 2013-04-19T07:41:25.087 に答える
0

質問を正しく理解しているかどうかわからない場合は、この行を変更してみてください

$(element).closest('.error_label').html(error);

$(element).append( "<span class="error_label">" + error + "</span>") ;

検証を開始する前に、エラー ラベルをすべて削除してください。

于 2013-04-19T07:37:37.713 に答える