【问题标题】:how can I add error message when url is empty array?当 url 为空数组时如何添加错误消息?
【发布时间】:2020-04-28 07:56:07
【问题描述】:

这是我在更改日期时获取时间段的代码部分,如果所选日期没有时间段,我需要在此处显示错误或警告消息。但我添加的消息仍然没有显示。我在这里做错了什么!

function changeBookingDate() {
  var date = $('#booking-date').val();
  var doctorId = $('#doctor-list').val();
  $('#time').hide();
  if (date != null && doctorId != null) {
    console.log(date, doctorId);
    $.ajax({
      url: '{{url("bookings")}}/' + doctorId + '/' + date,
      type: 'GET',
      success: function(result) {
        $('#time').show();
        if (result) {
          $('#booking-time').html('<option selected="selected" value="">Select Time</option>');
          $.each(result, function(index, data) {
            $('#booking-time').append('<option value="' + data.value + '">' + data.text + '</option>');
          });
        } else {
          showErrorMsg('The selected doctor is away on selected Date');
          $('#addBtn').prop('disabled', false);
        }

      }
    });

  } else {
    $('#booking-time').val('');
  }
}
<form id="new-booking-form">
  <div class="form-group">
    <label for="doctor-list">Doctor</label>
    <select id="doctor-list" name="doctor" style="width:100%" onChange="changeBookingDate()"></select>
  </div>
  <div class="form-group">
    <label for="booking-date">Date</label>
    <div class="input-group date">
      <input type="text" class="form-control datePicker1" autocomplete="off" name="date" id="booking-date" onChange="changeBookingDate()" />
      <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
    </div>
  </div>
  <div class="form-group" style="display:none" id="time">
    <label for="patient-list">Time Slot</label>
    <select id="booking-time" name="doctor" class="form-control"></select>
  </div>
</form>

【问题讨论】:

  • 请把你的html贴到sn-ps中快速解决
  • 我给你做了一个sn-p。请添加相关的HTML和CSS
  • 控制台有错误吗? Ajax 是否返回您期望的结果?
  • showErrorMsg 是什么样的?
  • 我在那里添加了 HTML,当我传递 URL 时我得到一个空数组,在这种情况下,我想得到警告/错误消息

标签: javascript arrays ajax function drop-down-menu


【解决方案1】:

我猜你的意思是这个

const showErrorMsg = str => {
  alert(str)
};

function changeBookingDate() {
  var date = $('#booking-date').val();
  var doctorId = $('#doctor-list').val();
  $('#time').hide();
  if (!date || !doctorId) return;

  $.ajax({
      url: '{{url("bookings")}}/' + doctorId + '/' + date,
      type: 'GET',
      success: function(result) {

    if (result && result.length > 0) {
      $('#booking-time').html('<option selected="selected" value="">Select Time</option>');
      $.each(result, function(index, data) {
        $('#booking-time').append('<option value="' + data.value + '">' + data.text + '</option>');
      });
      $('#time').show();
    } else {
      showErrorMsg('The selected doctor is away on selected Date');
      $('#addBtn').prop('disabled', false);
    }
  });  
}

如果还是不行,那就是服务器问题!

【讨论】:

  • result.length &gt; 0 我只是在 if 条件下添加了这个,现在它显示错误消息,谢谢。
  • 不客气。请accept the answer
【解决方案2】:
<input type="date" required id="booking-date">

然后,如果没有值,它会自动显示消息。 将其包装在非操作表单中,以便在焦点更改时自动验证。

【讨论】:

  • 这只会在提交包装表单时显示 - 它与这里的问题无关。 Kavi 想在 ajax 调用的返回值为空时显示错误
  • 明白了,我的错,
  • 然后随意删除答案
猜你喜欢
  • 1970-01-01
  • 2013-02-26
  • 1970-01-01
  • 2021-04-16
  • 1970-01-01
  • 2020-11-08
  • 1970-01-01
  • 1970-01-01
  • 2012-05-10
相关资源
最近更新 更多