Javascript js/jquery-event.preventdefault在firefox中似乎不起作用

Javascript js/jquery-event.preventdefault在firefox中似乎不起作用,javascript,jquery,firefox,Javascript,Jquery,Firefox,我有一些其他人编写的代码,如果zipcode的格式不正确,应该会打开一个弹出窗口,阻止页面提交。它在IE和chrome中正常工作。但在firefox中,我得到弹出窗口,单击ok,然后页面提交。有人能检查一下代码,让我知道哪些地方做得不正确吗?粘贴在此邮件末尾的代码 多谢各位 <script type="text/javascript"> $(init); function init() { $('form').validate({ error_message

我有一些其他人编写的代码,如果zipcode的格式不正确,应该会打开一个弹出窗口,阻止页面提交。它在IE和chrome中正常工作。但在firefox中,我得到弹出窗口,单击ok,然后页面提交。有人能检查一下代码,让我知道哪些地方做得不正确吗?粘贴在此邮件末尾的代码

多谢各位

<script type="text/javascript">
$(init);

function init() {
    $('form').validate({
        error_messages: {

        },
        failure: function (errors) {
            //alert(errors);
            $(".errMsg").show();
            return false;
        },
        success: function () {
            //alert('passed');
            //return true;
        }
    });

    $('#<%= btnAdd.ClientID %>').click(function (event) {
        if (beginZipValidation()) {
            //event.preventDefault();

            return;
        }
    });
}

function clearText(mybox, mymsg) {
    if (document.forms['form1'].elements[mybox].value == mymsg) {
        document.forms['form1'].elements[mybox].value = '';
        document.forms['form1'].elements[mybox].style.color = '#000000';
    }

}

function resetText(mybox, mymsg) {
    if (document.forms['form1'].elements[mybox].value == '') {
        document.forms['form1'].elements[mybox].value = mymsg;
        document.forms['form1'].elements[mybox].style.color = '#C0C0C0';
    }
}



function beginZipValidation() {
    //alert('begin validation');
    var zip = $('#<%= Zip.ClientID %>').val().replace(/ /g, '').toUpperCase();
    var cID = $("#<%= ddlCountry.ClientID %> option:selected").val();
    if (!zipCodeValidation(true, cID, zip)) {
        return false;
    }

    //alert('true');
    return true;
}

function zipCodeValidation(shouldValidateEmpty, countryID, zc) {
    //alert('zipCodeValidation');
    if (zc == '' || zc == 'POSTALCODE') {
        if (!shouldValidateEmpty) {
            return true;
        }
    }
    else {
        switch (countryID) {
            case '226':
                if (/^\d{5}(-\d{4})?$/.test(zc))
                    return true;
                break;
            case '38':
                if (/^([ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ])\ ?([0-9][ABCEGHJKLMNPRSTVWXYZ][0-9])$/.test(zc))
                    return true;
                break;
            case '225':
                if (/^(GIR 0AA|[A-PR-UWYZ]([0-9][0-9A-HJKPS-UW]?|[A-HK-Y][0-9][0-9ABEHMNPRV-Y]?)[0-9][ABD-HJLNP-UW-Z]{2})$/.test(zc))
                    return true;
                break;
            case '13':
                if (/^(((2|8|9)\d{2})|((02|08|09)\d{2})|([1-9]\d{3}))$/.test(zc))
                    return true;
                break;
        }
    }

    alert('The postal code provided does not fit the format for the selected country. Please adjust and try again.');
    if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; }
    event.preventDefault();

    return false;

}

这可能很简单,因为选择器出错:

尝试更改此选项:

 $('#<%= btnAdd.ClientID %>').click(function (event) {
        if (beginZipValidation()) {
            //event.preventDefault();

            return;
        }
    });
而是更详细一点,如:

var myButtonId = "<%= btnAdd.ClientID %>"; // Now you know what this evaluates to client-side
var btnSelector = "#" + myButtonId;
$(btnSelector).click(function (event) {
        if (beginZipValidation()) {
            //event.preventDefault();

            return;
        }
    });

您是否使用Firebug或Chrome Developer之类的标准工具进行调试?如果是这样,抛出一些控制台;里面有陈述

对不起,手指打字的速度比我的思维速度快;P