gpt4 book ai didi

javascript - event.preventdefault() 在具有each() 函数的函数内不起作用

转载 作者:行者123 更新时间:2023-11-28 04:50:48 24 4
gpt4 key购买 nike

我有一个函数可以进行简单的验证,如果每个输入文本都是空的,则会弹出警报,并且程序将停止。单击按钮后将启动该功能。我已准备好传递事件,但不知何故 event.PreventDefault() 不起作用,因此仍在访问服务器端代码。下面是做简单验证的函数。

var checkRequired = function(event)         
$('.box-load .requir').each(function(index,item) {
var index = $(item).data('index');
if(index === 'text') {
if ($(item).val() == "") {
$(this).focus();
alert('Please input the required parameter');
event.preventDefault();
}
}
});
}

对于触发器,我使用以下代码:

$(document).on('click','.box-load .btn-save', function(event) {
event.preventDefault();
checkRequired(event);

在 checkRequired() 后面,我将执行一个 ajax 请求。我想要的是,如果输入文本之一为空,则事件停止。但使用该代码,不起作用。有什么建议吗?

提前致谢。

最佳答案

如果调用event.preventDefault(),则不会触发事件的默认操作。

$(document).on('click','.box-load .btn-save', function(event) 
{
checkRequired(event);
event.preventDefault();

event.preventDefault() 应该位于 for 循环之外。

var checkRequired = function(event)    
{
$('.box-load .requir').each(function(index,item) {
var index = $(item).data('index');
if(index === 'text') {
if ($(item).val() == "") {
$(this).focus();
alert('Please input the required parameter');
}
}
});
event.preventDefault();
}

关于javascript - event.preventdefault() 在具有each() 函数的函数内不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42942179/

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