javascript - 使用 Jquery 和 AJAX 进行表单验证

标签 javascript php jquery ajax

我使用 AJAX 和 JQUERY 来调用 PHP 脚本来验证用户电子邮件。但是,由于某种原因,即使不应该提交表单,它也会提交。我究竟做错了什么?我知道错误肯定不在我的 PHP 中。

我的代码:

$("#signup").submit(function() {

var error= false;

var dataString = $(this).serialize();
var email= $("#email").val().trim();


if (email != 0) {
// Run AJAX email validation and check to see if the email is already taken
    $.ajax({  
    type: "POST",  
    url: "checkemail.php",  
    data: dataString,
        async: false,
    success: function(data) {
        var error= false;

        if (data == 'invalid') {
        var invalid= 1;
        }
        else if (data == 'taken') {
        var taken= 1;
        }
        if (invalid == 1) {
        alert('invalid email');
            error = true;
        }
        if (taken == 1) {
        alert('email taken');
        error = true;
        }
        if (error == true) {
        return false;
        }
    }
    });
}

    });

最佳答案

尝试更新这些:

$("#signup").submit(function(e) {  //<----pass the event here as "e"
    e.preventDefault();  //<----stops the form submission
    var error= false;

    var dataString = $(this).serialize();
    var email= $.trim($("#email").val());  //<----use trim this way

关于javascript - 使用 Jquery 和 AJAX 进行表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21164490/

相关文章:

javascript - 如何使用 javascript 和 jquery 创建 JSON 数据

javascript - 使用 JQuery 为 textarea 文本框添加水印

javascript - Chrome 内存问题 - 文件 API + AngularJS

php - 开发环境 - 从开发到登台服务器再到生产的 VCS

javascript - jQuery 用换行符替换 <p> 标签

php - 使用 Laravel 插入 created_at 数据

php - 发送表单时未经验证 : php mysql

javascript - jQuery - 获取 IE9 中附加内容的 HTML(没有选择包装器的选项)

javascript - 如果有空格或非数字字符,HTML5 input type=number value 在 Webkit 中为空?

javascript - 我如何使用 jquery ajax 将 webapi Controller 中的 webform 值作为模型类传递