Javascript 所需不';在通过jQuery提交表单时无法工作? 处境

Javascript 所需不';在通过jQuery提交表单时无法工作? 处境,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个表单,其中包含所需的输入。它过去是可以工作的,但自从我用JavaScript/jQuery提交表单后,所需字段就不再是必需的了 问题: 使用JavaScript/jQuery访问表单时,如何使输入字段成为必需字段 HTML 就像@Barmar已经说过的:“如果你用Javascript提交表单,你必须自己进行输入验证。” 具有自定义必需验证的简单代码版本如下所示: var $iconAddCategory = $('#frmAddMarkerCat').find('input[name="

我有一个表单,其中包含所需的输入。它过去是可以工作的,但自从我用JavaScript/jQuery提交表单后,所需字段就不再是必需的了

问题: 使用JavaScript/jQuery访问表单时,如何使输入字段成为必需字段

HTML
就像@Barmar已经说过的:“如果你用Javascript提交表单,你必须自己进行输入验证。”

具有自定义必需验证的简单代码版本如下所示:

var $iconAddCategory = $('#frmAddMarkerCat').find('input[name="iconAddCategory"]');

$('#btnAddCategory').click(function() {
  if ($iconAddCategory.val() === '') {
    $iconAddCategory.val('default');
  }

  validate(function() {
    $('#frmAddMarkerCat').submit(); 
  });
});


function validate(callback) {
  var emptyCount = 0;

  $("#form").find('input[required]').each(function(index, element) {
    var $element = $(element);

    if ($element.val() === '') {
      emptyCount++;
      $element.addClass('error');
    }
  });

  if (emptyCount === 0) {
    callback();
  } 
}

如果手动提交表单成功,则不要在表单对象上执行
.submit()
,而是尝试通过单击用于手动提交的按钮来复制手动操作

而不是:

$('#formID').submit();
尝试:


如果使用Javascript提交表单,则必须自己进行输入验证。但看起来你并不真的需要用Javascript提交。您可以将按钮更改为提交按钮,单击处理程序仍然可以首先修复
iconAddCategory
。我需要使用Javascript,因为其他一些代码不需要显示,但无论如何,谢谢您可以使用jquery验证插件来自动执行JS验证。您还可以执行
$(“#提交按钮”)。单击()
var $iconAddCategory = $('#frmAddMarkerCat').find('input[name="iconAddCategory"]');

$('#btnAddCategory').click(function() {
  if ($iconAddCategory.val() === '') {
    $iconAddCategory.val('default');
  }

  validate(function() {
    $('#frmAddMarkerCat').submit(); 
  });
});


function validate(callback) {
  var emptyCount = 0;

  $("#form").find('input[required]').each(function(index, element) {
    var $element = $(element);

    if ($element.val() === '') {
      emptyCount++;
      $element.addClass('error');
    }
  });

  if (emptyCount === 0) {
    callback();
  } 
}
$('#formID').submit();
$('#submitButton').trigger('click');