Как я могу добавить сообщение об ошибке, когда URL-адрес является пустым массивом? - PullRequest
0 голосов
/ 28 апреля 2020

Это мой раздел кода для получения временных интервалов при изменении даты, здесь мне нужно отобразить сообщение об ошибке или предупреждение, если выбранная дата не имеет временного интервала. но мое добавленное сообщение по-прежнему не отображается. Что я тут не так сделал!

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>

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

Полагаю, вы имеете в виду это

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);
    }
  });  
}

Если это не сработает, то это проблема с сервером!

0 голосов
/ 28 апреля 2020
<input type="date" required id="booking-date">

Затем, если значение отсутствует, автоматически отображается сообщение. Оберните его в форму бездействия для автоматической проверки c при смене фокуса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...