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 回答