javascript - jQuery - 表单验证

标签 javascript jquery ajax

我正在尝试使用 jQuery 编写自己的表单验证脚本。

但是,我似乎无法让它工作,这可能是小问题,但我找不到问题的原因。

此外,我刚刚开始使用 jQuery,我正在寻找一个好的语法检查器。谁能推荐一下吗?

$(document).ready(function() {
  $('.error').toggle();
  });


//when the button is clicked

$(".button").click(function() {
        // validate and process form
        // first hide any error messages
    $('.error').hide();

      var name = $("input#name").val();
        if (name == "") {
      $("label#name_error").show();
      return false;
    }

          var name = $("input#email").val();
        if (name == "") {
      $("label#name_error").show();
      return false;
    }

          var name = $("input#subject").val();
        if (name == "") {
      $("label#name_error").show();
      return false;
    }

          var name = $("textarea#message").val();
        if (name == "") {
      $("label#name_error").show();
      return false;
    }

    var dataString = 'name='+ name + '&email=' + email + '&phone=' + phone;

        $.ajax({
      type: "POST",
      url: "bin/process.php",
      data: dataString,
      success: function() {
        $('#contact_form').html("<div id='message'></div>");
        $('#message').html("<h2>Contact Form Submitted!</h2>")
        .append("<p>We will be in touch soon.</p>")
        .hide()
        .fadeIn(1500, function() {
        $('#message').append("<img id='checkmark' src='images/check.png' />");
        });
      }
     });
    return false;
    });
});

最佳答案

确保包含 jQuery.validate.min.js 或 jquery.validate.unobtrusive.min.js(我记不清了)文件,然后在 jQuery 中进行验证,如下所示:

$('.button').click(function () {
if ($('form').valid()) {
    //do saving stuff
} else {
    //errors on form - let user correct them
}

});

就语法检查器而言,不确定您在哪个平台上进行开发,但我使用的是 Visual Studio 2010,如果您包含 js 文件,那么 VS2010 会提供智能感知来突出显示问题。

关于javascript - jQuery - 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9820753/

相关文章:

javascript - 如何在服务器端读取ajax json数据

javascript - 将 Promise 代码从 Q 转换为 bluebird

javascript - 状态更改后,React-Redux 连接的组件不会更新

jquery - 下拉菜单被后面的元素隐藏

javascript - 在浏览器中捕获 "Back"事件并加载不同的内容

javascript - 使用来自 html 表单的多个输入作为 url 中的变量进行 ajax 调用

javascript - 为什么从 MySQL 和 jQuery .click 函数检索的数据表行不可单击?

javascript - OpenAjax 联盟与普通 Web 开发人员的相关性如何?

jquery - 使用 jquery 同步排列多个效果

javascript - 在 inview.js 触发时进行操作