Javascript js/jquery-event.preventdefault在firefox中似乎不起作用
我有一些其他人编写的代码,如果zipcode的格式不正确,应该会打开一个弹出窗口,阻止页面提交。它在IE和chrome中正常工作。但在firefox中,我得到弹出窗口,单击ok,然后页面提交。有人能检查一下代码,让我知道哪些地方做得不正确吗?粘贴在此邮件末尾的代码 多谢各位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
<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