2017-04-25 4 views
1

jQueryの日付の検証を入力しながら。すなわち、私は将来の日付を選択したくありません。jQueryの日付の検証を明示的私はちょうど今日のように、最小の日付を望んで入力フィールドに入力する代わりに、日付ピッカー</p> <p>から選択しながら、明示的に入力フィールドに

日付ピッカーで私は将来の日付を無効にしました。しかし、フィールドに日付を入力すると、将来の日付を受け入れています。

は、ここに私のjQueryのコード

jQuery(document).ready(function() { 
    jQuery("#datepicker").datepicker({ maxDate: new Date(),dateFormat: 'MM/DD/YYYY' }); 
    jQuery('.fa-calendar').click(function() { 
    jQuery("#datepicker").focus(); 
    }); 
}); 
+1

?そのユーザーは日付を入力することを許可しません。彼はdatepickerから選択するだけです – Mufi

+0

'maxDate:0'を使ってみましたか? – Diego

+0

ねえ、マチは私の答えをチェックアウトする。それはあなたが欲しいものですか? –

答えて

1

おそらくあなたはこのようなものを探していると思います。入力した日付を入力して、今日の日付よりも大きくない日付を入力することができます。私はまた、あなたのdatePickerフィールドをreadonlyを使って、ユーザーが@Mufiがコメント内で言ったように無効な入力を与えることができないようにすることを提案します。あなたが入力フィールドに ``読み取り専用= "" を追加しないのはなぜ

$(document).ready(function() { 
 
    $("#datepicker,#datepickerReadonly").datepicker({ 
 
    \t maxDate: new Date(), 
 
    \t dateFormat: 'dd/mm/yy', 
 
\t changeYear:true, 
 
\t changeMonth:true, 
 
    }); 
 
    
 
    $('.fa-calendar').click(function() { 
 
    $("#datepicker").focus(); 
 
    }); 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/> 
 
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
 

 
<input type="text" id="datepicker"> 
 
<input type="button" id="" value="check" onclick="check_();"/><br> 
 
Read Only Example: <br><input type="text" readonly="readonly" id="datepickerReadonly"> 
 

 
<script> 
 
function check_(){ 
 
\t if(new Date($('#datepicker').val()) > new Date()){ 
 
\t \t alert("you are not allowed to select future date"); 
 
\t \t $('#datepicker').val(''); 
 
\t } 
 
} 
 
</script>

+0

私はちょうどその機能を使用しました... – Mathi

0

はこれを試してみてくださいです:

jQuery(document).ready(function() { 

     jQuery("#datepicker").datepicker({       
        dateFormat: 'MM/DD/YYYY', 
        maxDate: '+10Y', 
        minDate: '+0M', 
        changeMonth: true, 
        changeYear: true, 
        yearRange: "-0:+10", }); 

     jQuery('.fa-calendar').click(function() { 
     jQuery("#datepicker").focus(); 
     }); 
    }); 

この例では、Todayに最大10 years前年選択することができます。

関連する問題