我正在注册表单上触发一个AJAX调用,检查用户输入的电子邮件是否已被使用。 Ajax函数:
<script>
$( "#becomesignup" ).submit(function( event ) {
$.ajax({
url : 'login', // Your Servlet mapping or JSP(not suggested)
data : {"email":$("#becomeemail").val()},
type : 'GET',
dataType : 'html', // Returns HTML as plain text; included script tags are evaluated when inserted in the DOM.
success : function(response) {
if(response == "true"){
$('#emailerrorbecome').slideDown();
$('#become-submit').prop('disabled', true);
event.preventDefault();
}else{
$('#emailerrorbecome').slideUp();
$('#become-submit').prop('disabled', false);
}
$('.black-screen').hide();
},
error : function(request, textStatus, errorThrown) {
alert(errorThrown);
}
});
});
</script>
在上面的ajax函数中,如果响应为true,则表示该电子邮件已经被使用,我需要显示一个错误div($('#emailerrorbecome').slideUp();)并防止表单提交。但是即使使用event.preventDefault(),也无法阻止注册相同的电子邮件ID。 请帮助我解决这个问题。谢谢。
$.ajax
之前编写它。事件不是asyc
:D。只有ajax
可以是async
。 - Parth Trivedievent.preventDefault();
应该放在事件处理程序中,而不是放在 AJAX 的 complete/success/error 块中。 - Tushar