0

我在使用 jQuery 验证时遇到问题,可以使用一些建议。

有没有一种方法可以验证此表单中的三个电话号码字段,而该组只有一条错误消息?任何帮助是极大的赞赏。

形式

<form id="mForm" name="form">
<div class="field right">
  <label class="labelStd" id="phoneNumber">Phone Number*</label>
  <input name="txtPhone1" type="text" maxlength="3" id="txtPhone1" class="small-phone" name="txtPhone1" Onchange="Tab(this, 'txtPhone2');" />
  <input name="txtPhone2" type="text" maxlength="3" id="txtPhone2" class="small-phone" name="txtPhone2" Onchange="Tab(this, 'txtPhone3');" />
  <input name="txtPhone3" type="text" maxlength="4" id="txtPhone3" class="small-phone" name="txtPhone3" />
</div>

<button type="submit" id="btn_submit" class="button-black right">SEND</button>
</form>

脚本(使用 jquery 验证)

<script type="text/javascript">
$("#mForm").validate({

onfocusout:false,
focuseInvalid:false,
onkeyup:false,

rules: {

    txtPhone1:{
            required: true,
            digits: true,
            minlength: 3,
            maxlength: 3
        },
    txtPhone2:{
            required: true,
            digits: true,
            minlength: 3,
            maxlength: 3
        },
    txtPhone3:{
            required: true,
            digits: true,
            minlength: 4,
            maxlength: 4
        }
    },

messages: {

    txtPhone1: "Your phone number is required.",
    txtPhone2: "Your phone number is required.",
    txtPhone3: "Your phone number is required."
}


  });

  $("#mForm").submit(function(){

if($(this).valid()){

form.submit();

}

else{ }

 });
</script>
4

1 回答 1

1

您需要使用该groups选项...

指定错误消息的分组。组由作为键的任意组名称和作为值的元素名称的空格分隔列表组成。使用 errorPlacement 来控制组消息的放置位置。

groups:  {
    someArbitraryName: "txtPhone1 txtPhone2 txtPhone3"
}

通用演示:http: //jsfiddle.net/3RFsa/

旁注

关于你的submit处理程序...

$("#mForm").submit(function(){
    if($(this).valid()){
        form.submit();
    }
...

这是完全多余和不必要的,所以我会完全删除它。默认情况下,插件仅在/当它有效时才会自动提交表单。如果您想在 之外做其他事情submit(),可以使用插件的submitHandler回调函数。如果您需要在表单验证失败时执行某些操作,请使用插件的invalidHandler回调函数。

于 2013-07-11T16:33:51.780 回答