我正在尝试验证表单以检查THIS JSFIDDLE处的输入是否为空
当我在validateEmpty()
函数中直接使用.submit()
函数的整个主体时,我能够成功验证表单,但只是为了保持组织,我试图将所有内容放在函数中({{1} })并通过validateEmpty()
函数调用它,但出于任何原因,验证过程无效!
以下是我的代码:
.submit()
你可以告诉我我做错了什么吗?感谢
答案 0 :(得分:3)
validateEmpty
函数在其末尾返回true
或false
,但在您的事件处理程序中,您永远不会return
,因此jQuery永远不会获得该值。您只需要向处理程序添加return
调用:
$('#myform').submit(function() {
return validateEmpty();
});
另外,请注意,如果您不需要做任何额外的事情,可以直接传递该功能:
$('#myform').submit(validateEmpty);
根据评论中的要求,这里有两种参数化validateEmpty
函数的方法:
function validateEmpty($inputs) {
var abort = false;
$("div.err").remove();
$inputs.each(function() {
if ($(this).val()==='') {
$(this).parent().after('<div class="err">This is a Requierd Field</div>');
abort = true;
}
});
if (abort) { return false; } else { return true; }
}
$("#myform").submit(function() {
// Take the 'required' inputs inside #myform only
var $inputs = $(this, "input[required]");
return validateEmpty($inputs);
});
答案 1 :(得分:1)
请在你的jsfiddle示例中添加jquery框架并尝试
$('#myform').submit(function() {
return validateEmpty();
});