我有一个将进行简单验证的功能,如果每个输入文本都是empyt,则会弹出一个警告,程序将停止。单击按钮后,功能将启动。我已经完成了传递事件,但不知何故事件.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请求。我想要的是,如果其中一个输入文本为空,则事件停止。但是使用该代码,是行不通的。有什么建议吗?
提前致谢。
答案 0 :(得分:0)
如果您致电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();
}
答案 1 :(得分:0)
event.preventDefault()将停止默认操作,而不是停止函数调用。如果您不是从您的函数中专门return
,它将继续并启动ajax。