gpt4 book ai didi

javascript - JQuery - 表单提交 - 多次?

转载 作者:行者123 更新时间:2023-11-29 15:25:36 25 4
gpt4 key购买 nike

我有一个快速的问题,关于我的 javascript 代码,我有这个:

	$('form').submit( function (e) {
var form = $(this);
console.log('submit attempt');
$('input, select, textarea').each(function() {
var attr = $(this).attr('required');
if (typeof attr == typeof undefined || attr == false || (attr = 'Y' && $(this).val() != '') ) {
if($(this).hasClass('numeric')) {
if(isNumber($(this).val())) {
$(form).submit();
}
}
else {
$(form).submit();
}
}
else {
e.preventDefault();
$(this).css('border','1px solid red');
}
});
});

在控制台日志上,我收到了 1300 多条“提交尝试”消息,然后是一个错误:

Uncaught RangeError: Maximum call stack size exceeded

你们知道为什么会发生这种情况以及如何解决吗?也许我忘记了关于 submit() 的一些棘手的事情?

如果需要更多信息,请告诉我。

谢谢!

最佳答案

如果没有错误,表单将与每个输入或文本区域一起提交。

所以,首先循环字段,定义是否有失败。如果没有,请发送:

$('form').submit(function(e) {
var form = $(this);
var failure = false;
console.log('submit attempt');
$('input, select, textarea').each(function() {
var attr = $(this).attr('required');
if (typeof attr == typeof undefined || attr == false || (attr = 'Y' && $(this).val() != '')) {
failure = true;
$(this).css('border', '1px solid red');
}
if ($(this).hasClass('numeric') && !isNumber($(this).val())) {
failure = true;
$(this).css('border', '1px solid red');
}
});
if (failure) {
e.preventDefault();
}
});

关于javascript - JQuery - 表单提交 - 多次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39488308/

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