在我的代码的else
条件下,我想删除preventDefault()并提交表单。
我不知道要这样做吗?
if(email.val() != ""){
//check email
e.preventDefault();
$.ajax({
type: 'post',
url: '/register/check-email',
data: {email: email.val()},
success: (data) => {
console.log(data);
if(data == 1){
name.css('border', '1px solid #248ea9');
email.css('border', '1px solid red');
$("div.wrapper div.right div.form form small.error-name").hide();
$("div.wrapper div.right div.form form small.error-email").hide();
$("div.wrapper div.right div.form form small.error-email-found").show();
}else{
//remove preventDefault()
}
}
})
}
我想您在表单的按钮中执行了e.preventDefault ()
,这将阻止提交表单,如果要继续提交,可以直接使用表单的submit()
方法,如下所示:
if(email.val() != ""){
//check email
e.preventDefault();
$.ajax({
type: 'post',
url: '/register/check-email',
data: {email: email.val()},
success: (data) => {
console.log(data);
if(data == 1){
name.css('border', '1px solid #248ea9');
email.css('border', '1px solid red');
$("div.wrapper div.right div.form form small.error-name").hide();
$("div.wrapper div.right div.form form small.error-email").hide();
$("div.wrapper div.right div.form form small.error-email-found").show();
}else{
//remove preventDefault()
// get form and submit
$("#form").submit()
}
}
})
}
无论您将e.preventDefault()放在底部还是底部,它的作用都相同。
如果您对表单有操作,则可以在开始提交功能块之后立即将其放到上面。
var submit = function (e) {
e.preventDefault()
}
我不太了解您的情况,但是您可以使用其他方法,例如:
e。 stopPropagation();
e.stopImmediatePropagation();
供进一步阅读:https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault