jQuery禁用表单来validation数据

我试图在提交到服务器之前禁用登录表单以快速validation用户数据。 我目前的代码工作得很好; 但我现在面临的问题是,我需要点击提交按钮2次才能提交表格。 我目前的代码是:

$('#login-submit').click(function() { var nameId = '#' + $(this).attr('name'); // Form name submitForm(nameId); }); function submitForm(nameId) { var formId = nameId + '-form'; // Form id var email = nameId + '-email'; // Email var pwd = nameId + '-pwd'; // Password var btn = nameId + '-submit'; // Submit button $(formId).submit(function() { return false; }); alert('click1'); $(btn).on('click', function() { alert('click2'); var emailVal = $(email).val(); var pwdVal = $(pwd).val(); /*alert(emailVal + " " + pwdVal);*/ var isEmailValid = validateEmail(emailVal); var isPwdcValid = validatePwd(pwdVal); // Validate email if(!isEmailValid) { $(email).addClass('error'); $(email + '-error').show(); } else { $(email).removeClass('error'); $(email + '-error').hide(); } // Validate password if(!isPwdcValid) { $(pwd).addClass('error'); $(pwd + '-error').show(); } else { $(pwd).removeClass('error'); $(pwd + '-error').hide(); } if(isEmailValid && isPwdcValid) { $(btn).replaceWith("sending..."); var urlId = $(formId).attr('action'); $.ajax({ type: 'POST', url: urlId, data: $(formId).serialize(), success: function(data) {} }); } } } 

第一次单击“提交”按钮时,它会提示“click1”而不是“click2”。 如果我再次单击该按钮,它将提示“click2”。 如果点击一下按钮,我该怎么做才能获得“click2”的警报?

根据您的代码,您正在对一个表单进行validation,您不需要调用两个事件

尝试以下代码以获得更好的代码

HTML部分

    
Email: Password:

脚本部分