2017-02-18 3 views
2

Спасибо, что нашли время, чтобы помочь мне. То, что я ищу, чтобы получить помощь с моим datepicker. Я создаю небольшую веб-форму, которая действует как шаблон для электронной почты. Поэтому идея состоит в том, чтобы заполнить форму, нажать «Создать» и заполнить электронное письмо с информацией о форме. Однако, мой датпинг требует от меня выбрать дату дважды, пока она не вернет правильную дату в адрес электронной почты. Первый выбор не приведет к ничто, а третья попытка приведет к выходу второго выбора и так далее.JQuery datapicker необходимо дважды отобрать

Я использую Jquery 1.12.4 и мой код выглядит следующим образом:

JS:

$(function(){ 
     $("#IncidentDateInput").datepicker({ 
        dateFormat: 'dd/mm/yy' 
      }); 
    }); 


    function updateMailString() {   
      mailString = '?subject=' + encodeURIComponent($('#subject').val()) 
       + '&body=Agent Name: ' + encodeURIComponent($('#AgentNameInput').val()) 
       +"%0D%0AMDN: " +encodeURIComponent($('#MDNInput').val()) 
       +"%0D%0ADevice: " +encodeURIComponent($('#DeviceInput').val()) 
       +"%0D%0AIssue: " +encodeURIComponent($('#IssueInput').val()) 
       +"%0D%0ADate: " +encodeURIComponent($('#IncidentDateInput').val()); 
      var receiver = encodeURIComponent($('#ReceiverInput').val()); 
      $('#mail-link').attr('href', 'mailto:' + receiver + mailString); 
     } 


$("#IncidentDateInput").focusout(function() { updateMailString(); }); 

Html:

<input type="text" id="IncidentDateInput" /> 

Любое понимание было бы здорово, спасибо.

ответ

3

Попробуйте с change вместо focusout. При использовании focusout вход остается пустым и вызывается функция updateMailString. С помощью change функции, после ввода (DatePicker) изменяется, то updateMailString функция называется

Fiddle link

$(document).ready(function() { 
    $('#IncidentDateInput').datepicker({ 
    dateFormat: 'dd/mm/yy', 
    }); 
    $("#IncidentDateInput").change(function() { 
    updateMailString(); 
    }); 
}) 

function updateMailString() { 
    mailString = '?subject=' + encodeURIComponent($('#subject').val()) + "%0D%0ADate: " + encodeURIComponent($('#IncidentDateInput').val()); 
    var receiver = encodeURIComponent($('#ReceiverInput').val()); 
    $('#mail-link').attr('href', 'mailto:' + receiver + mailString); 
    alert($('#mail-link').attr('href')) 
} 
+0

жизнь заставки! Спасибо. – user2392337

Смежные вопросы