javascript - 使用 AJAX 进行表单验证 - 防止空白字段

标签 javascript php jquery ajax validation

我有一些 JS 脚本可以验证我的表单。它在处理时显示“已发送”或“正在加载”等信息。我想再添加一项功能。我想阻止用户发送带有空白字段的电子邮件。我应该在下面的代码中添加什么来实现此目的?

$(function() {
  var form = $('#form');
  var submit = $('#submit');

  form.on('submit', function(e) {
    e.preventDefault();
    $.ajax({
      url: '',
      type: 'POST',
      dataType: 'html',
      data: form.serialize(),
      beforeSend: function() {
      document.getElementById("submit").value = "Loading...";
      },
      success: function() {
      form.trigger('reset');
      document.getElementById("submit").value = "Message sent!";
      },
    });
  });
});

最佳答案

您可以在不能为空的字段上使用 HTML 属性 required

<input type="text" required/>

和/或

在提交之前进行一些 JavaScript 检查

$(function() {
  var form = $('#form');
  var submit = $('#submit');

  form.on('submit', function(e) {
    e.preventDefault();
    if($('input', this).val().trim() == ''){
       //handle error message
    }
    else{
      $.ajax({
        url: '',
        type: 'POST',
        dataType: 'html',
        data: form.serialize(),
        beforeSend: function() {
        document.getElementById("submit").value = "Loading...";
        },
        success: function() {
        form.trigger('reset');
        document.getElementById("submit").value = "Message sent!";
        },
      });
    }
  });
});

和/或

您进行服务器端检查以确保该值不为空 在 PHP 中:

if(empty($_POST['input_name'])){
   //handle error
}

关于javascript - 使用 AJAX 进行表单验证 - 防止空白字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29131606/

相关文章:

javascript - 在新标签页中打开 DIV?

javascript - 手动传递signed_pa​​rameters后的Facebook NoAuthorizationError

javascript - 如何检查事件传播是否停止?

javascript - 通过 Foundation Framework 有条件地提供 javascript

php - Zend Framework - Doctrine 2 集成 : where to store the EntityManager?

javascript - 更改 li 的 data-src 值

javascript - 如何将收到 PlayFramework View 的 Java 数组转换为 javascript?

php - Symfony 4 - JSON 身份验证不起作用

php - 使用PHP将字符串分成相等的部分

jquery - 如何更改 jquery html 内容?