php - 使用ajax在Php中以“电子邮件已存在”条件提交表单
问题描述
我正在使用 ajax Php,我想使用 ajax(在模糊功能上)检查电子邮件可用性我的代码工作正常,显示电子邮件是否存在,但我的表单提交甚至“电子邮件已经存在”消息显示,我只想要那个表单如果我输入现有电子邮件,则不应提交,这是我的代码,我错在哪里?
<script type = "text/javascript" >
$(document).ready(function() {
/// make loader hidden in start
$('#loading').hide();
$('#email').blur(function() {
var email_val = $("#email").val();
var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
if (filter.test(email_val)) {
// show loader
$('#loading').show();
$.post("<?php echo site_url()?>/Register/email_check", {
email: email_val
}, function(response) {
alert(response);
$('#loading').hide();
//$('#message').html('').html(response).show().delay(4000).fadeOut();
if (response.trim() == '1') {
$('#failuremsg').show().delay(4000).fadeOut();
} else {
$('#successmsg').show().delay(4000).fadeOut();
}
});
return false;
}
});
});
</script>
解决方案
将表单上的提交按钮替换为
<button id="submit-form">Submit</button>
当所有检查都通过后,在您的主代码中设置一个 valid=true 变量
添加一些jQuery
$( "#submit-form" ).click(function() {
if(validated){
$( "#yourForm" ).submit();
}else{
return false;
}
};
推荐阅读
- python - 如何计算python列表中字符串列表的出现次数?
- python - 为什么时间仍然显示 UTC 时区而不是 settings.TIME_ZONE?
- assembly - 组装中的堆栈
- kubernetes - 编写一个 k8s 客户端——使用哪一个
- javascript - 使用 jquery 切换 CSS 属性并为其设置动画
- delphi - 如何格式化任意浮点数以适应给定的显示宽度?
- c++ - 在 Visual Studio 中的调试构建中 setlocale 失败
- php - 绕过文件包含攻击的文件扩展名
- python - 裁剪 PDF 文件无法裁剪文本以进行文本提取(textract 和 pdfminer)
- python - 如何构思一个跨平台的 Python 脚本