javascript - 即使表单验证失败,表单也会被提交

标签 javascript php jquery html forms

我正在使用http://www.formvalidator.net/index.html验证我的表单,但即使验证失败,表单也会提交。

表单代码:

<form name="add-todo" class="form-horizontal" action="" method="post">
  <h5>Add New Item</h5>
  <div class="form-group">
    <div class="col-md-12">
      <input type="text" data-validation="required" class="form-control" id="todo-text-input" name="todo-text">
    </div>
  </div>
  <div class="form-group">
    <div class="col-md-12">
      <button type="submit" class="btn btn-primary btn-add">Add</button>
    </div>
  </div>
</form>

jQuery 代码:

$(document).ready(function() {
  $.validate({
    modules: 'security'
  });

  $('form[name=add-todo]').submit(function(e) {
    e.preventDefault();

    var text = $("#todo-text-input").val();
    $('.btn-add').text('Saving ....');

    $.ajax({
      url: this.action,
      type: this.method,
      data: {
        text: text
      },
      success: function(response) {
        $("#todo-text-input").empty();
        $('.messages').removeClass('hide-element');
        $('.alert').addClass('alert-success');
        $('.alert').text('To do item added successfully.');

        $('.alert').fadeTo(2000, 500).slideUp(500, function() {
          $('.alert').slideUp(500);
        });
      }
    });
  });
});

最佳答案

不要使用提交按钮。您可以使用

<button type="button" class="btn btn-primary btn-add">Add</button>

之后检查您的验证状态。如果有效,则提交表格。

关于javascript - 即使表单验证失败,表单也会被提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42480975/

相关文章:

javascript - 使用 Javascript 在现有表格下添加新的 html 表格

javascript - 返回的 boolean 值转换为 boolean 值

javascript - 如何在 Javascript 代码中声明我的模式

php - MYSQL fetch_array 创建无限循环;

php - docker 上带有 Nginx、php 7.4 fpm 和 mysql 8 的 Laravel 6 比 php 7.1 上的 Laravel 4 慢

php - 显示旧响应的 Jquery ajax 请求

c# - 海量数据的 asp.net 下拉列表缓存

javascript - 更改类不起作用的函数

javascript - 如何使用 TweenMax 在 IE 中制作翻转卡片?

javascript - 从 json 对象中删除项目