首先,您有一个内联调用的submit()方法,它转过来提交表单,然后执行其内联signup()方法,然后才真正起作用,这有点奇怪。只需调用注册即可,而不是submit()。
但是,对于您的实际问题。
$(':input[required]').filter(function(){ return !this.value.trim() })
此命令将查找所有具有必需属性且没有值的输入。如果找到任何内容,请不要执行ajax。
下面的示例对逻辑进行了一些重构,以便实际上显示了Submit按钮,但是其样式看起来像一个链接。
$('form').on('submit', function(e){
e.preventDefault();
var blankRequiredFieldsExist = $(e.target).find(':input[required]').filter(function(){
return !this.value.trim();
}).length;
if (!blankRequiredFieldsExist) {
alert("You're going to sign up");
}
});
.buttonAsLink {
border: 0;
background-color: inherit;
padding: 0;
font-family: inherit;
font-size: inherit;
color: blue;
text-decoration: underline;
}
Email:
Password:
Sign Up