jQuery:在字段中发生自动完成后删除错误

Posted

技术标签:

【中文标题】jQuery:在字段中发生自动完成后删除错误【英文标题】:jQuery: Remove error after autocomplete happens in a field 【发布时间】:2018-03-07 20:04:43 【问题描述】:

我在页面上唯一的输入文本字段中使用Daterangepicker 代替Bootstrap。当我将输入文本字段留空时,会出现错误,这就是我想要的。但是,当我使用Daterangepicker 填写输入文本字段时,错误仍然存​​在。

我希望将其删除。单击“开始”按钮时,错误文本会自行删除,但我希望在输入字段中填充文本后,错误文本会自行删除。

这是我的代码:

$('#beginBtn').on('click', function()      
  //Validation of Open Enrollment input
  var autocd = $('#autocd').val();
  if(autocd == "") 
    $('#autocderror').text('Cannot be blank').css('color': 'red');
    return false;
   else if (autocd != "") 
    $('#autocderror').fadeOut(1000);
  

  var startDate = $("input[name='daterangepicker_start']").val();
  var endDate = $("input[name='daterangepicker_end']").val();

  //console.log(startDate + " thru " + endDate);

  $.post('api/countdownprocess.php', startDate:startDate, endDate:endDate, function(data) 
    if(data == 'Successful')
      $('#oerestext').html(data).css('color': 'green').fadeOut(3000);
      setTimeout(function() 
        location.reload();
      , 5000);
     else 
      $('#oerestext').html(data).css('color': 'red').fadeOut(3000);
    
  );// end of Begin Button

输入字段称为autocd。我怎么做?有没有办法让自动完成作为选择器?

【问题讨论】:

【参考方案1】:

如何将这段代码移动到由输入上的 onchange 事件触发的函数中?

var autocd = $('#autocd').val();
if(autocd == "") 
  $('#autocderror').text('Cannot be blank').css('color': 'red');
  return false;
 else if (autocd != "") 
  $('#autocderror').fadeOut(1000);

【讨论】:

不起作用。出于某种原因,当我将上面的代码包装在一个函数中时,当字段为空白时的验证不会触发但肯定更接近我想要实现的目标。以此为参考:w3schools.com/jsref/tryit.asp?filename=tryjsref_onchange2

以上是关于jQuery:在字段中发生自动完成后删除错误的主要内容,如果未能解决你的问题,请参考以下文章

选择 jQuery UI 自动完成后清除表单字段

jquery UI 自动完成:我克隆的自动完成字段不起作用

带有动态添加元素的 jQuery 中的自动完成

Angular:删除项目后自动完成字段更改焦点

选择后清除 Jquery 自动完成中的文本框

Chrome 自动完成锁定输入,就像它们不可点击一样