2011-11-28 2 views
0

jQuery datapicker와 관련된 제 질문에 대한 해결책을 얻을 수 없었기 때문에 직접 날짜를 확인하는 코드를 작성해야한다고 생각했습니다. mm.dd.yyyy 형식의 날짜가있는 텍스트 상자가 있습니다. 텍스트 상자의 날짜를 확인하는 방법은 흐리게 처리하는 현재 날짜보다 커야합니다.jQuery를 사용하여 mm.dd.yyyy 형식의 날짜 유효성 확인

Reminder.config = { 
    BaseURL: "Reminder.ashx?" + Reminder.BaseURLQuery, 
    tblHistory: "#tblHistory", 
    txtNotes: "#txtNotes", 
    txtDate: "#txtDate", 
    btnSave: "#btnSave", 
    dateFormat: 'mm.dd.yy', 
}; 

Reminder.Init = function() { 
//Set up calendar 
var $txtDate = $(Reminder.config.txtDate); 
$txtDate.datepicker({ 
    dateFormat: Reminder.config.dateFormat, 
    onClose: function (dateText, inst) { 
     try { 
      $.datepicker.parseDate(Reminder.config.dateFormat, dateText); 
     } catch (e) { 
      $txtDate.val(''); 
     }; 
    }, 
    maxDate: '+0' 
}); 

$txtDate.datepicker('setDate', new Date()).blur(function() { 
     try { 
      if ($txtDate.val() == '') { 
       $txtDate.datepicker('setDate', new Date()); 
      }    
     } 
     catch (ex) { 
      var myEx = myWeb.Exception(ex); 
      myEx.AddData("Method", "$txtDate.datepicker('setDate', new Date()).blur"); 
     } 
    }); 

}; 

답변

1

우선, 이미 날짜 선택 도구를 선택하여 향후 날짜를 선택하지 않아도됩니다. 하지만 당신은 그게 문제가 될 것으로 보인다 무슨 말을하지 않습니다 ... 어쨌든 ...이 같은

흐림 효과도 핸들러가 예상대로 작동합니다 :

$txtDate.blur(function(e){ 
    // this is now 
    var now = new Date(); 

    // let date picker parse the date since it has formatting set 
    var date = $txtDate.datepicker("getDate"); 

    // is date ok then? 
    if ((date || new Date()) >= now) 
    { 
     alert("Does not compute"); 
    } 
}); 
+0

에게 실제로 날짜 선택기 컨트롤 회색의 유효성을 검사 date.js를 사용할 수 있지만 해당 텍스트 상자에 미래 날짜를 편집하는 사용자를 제한하지 않습니다. 나는 maxDate가 처리해야한다고 생각했지만 그렇지 않았다. 그래서 프로그램 적으로 검사하기 위해 이벤트를 흐리게 처리하는 코드를 추가하는 방법을 생각했습니다. –

+0

@ kuul13 : 예. 직접 테스트했습니다. 두 가지 옵션 중 하나가 있습니다. 즉, 해당 텍스트 상자에 대한 사용자 입력을 차단하거나 제공된 블러 이벤트 핸들러를 사용하십시오. –

+0

로버트에게 감사드립니다. 당신은 해결책을 찾았습니다. –

0
내가 구문 분석하는 것으로 시작 것

() 텍스트 상자에서 제공된 날짜를 가져 와서 getTime() 반환 값을 (new Date()). getTime() 반환 값과 비교합니다.

첫 번째가 후자보다 큰 경우 제공된 날짜가 앞으로 표시됩니다.

0

당신은 미래의 날짜에서 임의의 날짜 형식

관련 문제