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

时间:2015-03-18 20:01:44

标签: 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!";
      },
    });
  });
});

1 个答案:

答案 0 :(得分:1)

您可以在不能为空的字段

上使用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
}