2017-01-11 14 views
1

dd/mm/yyyy形式の単純な日付ピッカーを表示するためにbootstrap-datepicker.js(バージョン1.6.1)を使用しています。手動入力時にブートストラップ日付ピッカーがフォーマットを検証しない

次のように初期化されます。ユーザーは、カレンダーをナビゲートし、目的の日付をクリックすると日付ピッカーだけで罰金と日付作品

$e.datepicker({ 
     format: "dd/mm/yyyy" 
    , endDate: ed // end date 
    , autoclose: true 
    , startDate: sd // start date 
    , language: lang 
}); 

は立体配置の形式に正しく設定されています。

しかし、入力時に手動で日付を入力すると問題が発生します。

手動でユーザがタイプDD/MM/YY 場合どういうわけか、この値は、日付ピッカーによって受け入れられていると、自動的にDD/MM/YYYY に変換されていません。

誰かがこれがdatepickerライブラリの制限事項であるかどうかを知っていますか、ここで設定が欠落していますか?

答えて

0

私は、あなたが手動入力を避けるために

onkeydown="return false" 

を使用することができると思います。そうでない場合は、JSをフォーマットして日付を記入する必要があります。 Datepickerは手動入力から自動的に変換されます。

$('#txtDob').datepicker({ 
 
    format: 'dd/mm/yyyy', 
 
    autoclose: true 
 
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet" /> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker3.css" rel="stylesheet" /> 
 

 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/locales/bootstrap-datepicker.de.min.js"></script> 
 

 
<form action="#" method="post"> 
 
    <label for="txtDob"></label> 
 
    <input onkeydown="return false" type="text" id="txtDob" /> 
 
</form>

関連する問題