我的表单上有验证,只有一个字段。它涉及电话号码:
<form action="/cabinet/company/get_money.php" method="post" class="form-inline" id="get-balans">
<label for="phone" class="p10"><strong>Контактный телефон для связи с Вами:</strong></label>
<div class="row">
<div class="col-md-2">
<div class="section">
<label class="field prepend-icon">
<input type="text" name="phone" id="phone" data-msg-minlength="Укажите пожалуйста телефон полностью" value="<?=$arUser['WORK_PHONE']?>" class="gui-input" data-rule-minlength="8" data-rule-required="true" data-msg-required="Укажите пожалуйста телефон полностью">
<label for="org_name" class="field-icon">
<i class="fa fa-phone"></i>
</label>
</label>
</div>
</div>
<div class="col-md-3">
<input type="submit" name="send" class="btn btn-system" value="Запросить пополнение баланса">
</div>
<div class="col-md-7 text-right">
<a href="/register/premium.php" class="btn btn-system" style="margin-right: 20px">Тарифы на премиальные услуги</a>
</div>
</div>
</form>
jquery验证插件的验证句柄:
$(function(){
$("#phone").mask("+7 (999) 999-9999");
var form = $("#get-balans");
form.validate({
errorClass: "state-error",
validClass: "state-success",
errorElement: "em",
rules: {
confirm: {
equalTo: "#password"
},
},
highlight: function(element, errorClass, validClass) {
$(element).closest('.field').addClass(errorClass).removeClass(validClass);
$(element).closest('.input-group').addClass(errorClass).removeClass(validClass);
},
unhighlight: function(element, errorClass, validClass) {
$(element).closest('.field').removeClass(errorClass).addClass(validClass);
$(element).closest('.input-group').removeClass(errorClass).addClass(validClass);
},
errorPlacement: function(error, element) {
if (element.is(":radio") || element.is(":checkbox")) {
element.closest('.option-group').after(error);
} else {
error.insertAfter(element.parent());
}
}
});
$("#get-balans").submit(function(){
form.validate();
return form.valid();
})
});
问题出在firefox mozilla(最新版本),它会在多次按下按钮后跳过验证并发送表单。我该如何解决?