多次点击后,表单验证会在Firefox中跳过

时间:2016-01-25 04:51:33

标签: javascript jquery validation firefox

我的表单上有验证,只有一个字段。它涉及电话号码:

<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(最新版本),它会在多次按下按钮后跳过验证并发送表单。我该如何解决?

0 个答案:

没有答案