我希望向用户提供表单反馈,因为他们无需关注输入和提交表单。它只在我有焦点方法时有效,但在我添加提交方法时失败。
(function(){
$('input').focusout(function(){
if($(this).val() == ""){
$('.jsError').html('<p class="alert alert-danger text-center">'+$(this).attr('name')+' is required.</p>');
}
});
//when the submit button is pressed
$("#register").click(function(event){
//var input = $(this).parent().find('input[value=""]');
if(!input.length){
event.preventDefault();
$('.jsError').html('<p class="alert alert-danger text-center">'+Please fill in the form+'</p>');
}else{
//set variables
var email = $('#email'),
emailConf = $('#emailConf'),
pass = $('#pass'),
passConf = $('#passConf'),
stageName = $('#stageName'),
mainClub = $('$mainClub'),
mainSkill = $('#ent_main_skill'),
termsAgree = $('#agreeToTerms');
}
});
})();
我当时认为这是event.preventdefault,但它本身似乎没有做任何事情。
答案 0 :(得分:1)
通过查看注释行我可以看到,您正在尝试查询所有没有值的输入。这意味着,如果input.length
大于0
,则会出现错误,但如果它是0
则表示所有表单字段都已填充。
你实现的逻辑恰恰相反,它应该是:
if (input.length) {
//errors
} else {
//no errors
}