gpt4 book ai didi

javascript - 无法发现ajax函数提交表单的错误

转载 作者:行者123 更新时间:2023-11-28 20:33:54 24 4
gpt4 key购买 nike

我有这个功能,仅在 IE8 中,alert 不会触发,ajax 部分根本不运行。然后,尽管返回 false,表单仍会提交。为什么会发生这种情况?为什么只有 IE8 才会出现这种情况?

$(document).ready(function(){
$('form[name="DownloadForm"]').submit(function(){
var valCases = new Array()
valCases.push(($('input[name="firstname"]').val()!="") ? true : false )
valCases.push(($('input[name="lastname"]').val()!="") ? true : false )
valCases.push(($('input[name="company"]').val()!="") ? true : false )
valCases.push(($('input[name="email"]').val()!="") ? true : false )

alert(valCases.indexOf(false)) //this alert doesn't fire!


if (valCases.indexOf(false)==-1) {
$.ajax({
url: url,
type: 'POST',
data: $(this).serialize(),
beforeSend: function(){
//before
},
success: function(data) {
//do something
},
error: function(data) {
//error
}
});
return false;
} else {
$('.inl-table tr').each(function(index){
if (index==valCases.indexOf(false)) {
$(this).next().children('th').css('color','red');
}
});
return false;
}
return false;
});

});

最佳答案

问题可能是,这个数组函数在 IE8 中不存在:

valCases.indexOf(false)

当然,这并不能解释丢失的警报:)
编辑:好的,我读错了你的代码。它解释了丢失的警报;)

您将在此链接下找到一个polyfill: MDN - Array indexOf

由于您已经在使用 jQuery,因此您也可以使用 jQuery.inArray,它会在可用时回退到 native indexOf 函数。

关于javascript - 无法发现ajax函数提交表单的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15812871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com