Значение поля изменится на неопределенное, если не выбрана дата на датчике и как закрыть onblur - PullRequest
1 голос
/ 07 апреля 2019

У меня есть текстовое поле, которое открывает щелчок по датчику.Я бы хотел, чтобы средство выбора даты закрывало onblur, и после закрытия средства выбора даты без выбора даты я получаю «неопределенное» в поле.

Я использую MooTools, поэтому я не нашел ничего, что не использует jQuery, чтобы попробовать,Я попробовал document.getElementById('datepicker').close() и различные варианты этого, но безуспешно.

Если я выберу дату, все будет отлично.Я хотел бы, чтобы дата оставалась неизменной, если пользователь не выбирает другую дату.

Вот средство выбора даты:

<td>
   <input style="background-color: transparent; border: none;" type="text"
      data-row-id="0" id="date[0]" name="connectedjob[0][orderDate]" 
      onblur="reformatDate(this.value, this.id)" value="Dec 16, 2015" 
      class="datefield orderDate" size="10">
</td>

Вот событие onclick для средства выбора даты:

$(document.body).addEvent("click:relay(orderDate)", function (e, el) {
  try {
      e.preventDefault();
      $('orderDate').attr('type') === 'text' ? $('orderDate').attr('type', 'date') : $('orderDate').attr('type', 'text');
   } catch (e) {
      .
      .
   }
});

Вот код для переформатирования даты onblur:

 function reformatDate(date, id) {
    var datePick = document.getElementById('orderDate');
    if (date !== '') {
       var month = date.substr(0, 2);
       if (month.includes('0')) {
           month = month.substr(1, 1).toInt();
       }
       var day = date.substr(3, 2);
       if (day.includes('0')) {
           day = day.substr(1, 1).toInt();
       }
       var year = date.substr(6, 4);
       var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
       document.getElementById(id).value = monthNames[month - 1] + ' ' + day + ', ' + year;
       datePick.close();
    } 
  }

Есть ли способ сделать это, используя JavaScript / MooTools, а не jQuery?

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