1

ASP.Net MVC 4 アプリケーションのページに日付入力フィールドがあります。ユーザーがこの日付を変更したときに実行するには、クライアント側の検証が必要です。

このフィールドを生成するコードは次のとおりです。

@Html.DatePickerFor(x => x.EndDate)

上記のコードと同じ cshtml ページの下部には、次のものもあります。

<script type="text/javascript">
    MyValidation.FormValidator.initialize($('#EndDate'));
</script>

MyValidation.FormValidator.js ファイル:

MyValidation.FormValidator = (function () {
    return {   
        initialize: function (endDateInput) {
            endDateInput.bind('input', function () {
                alert("hit");
                SomeValidationFunction();
            });
        }
     };
})();

いろいろな書き方を試してみた

endDateInput.bind('input', function () {...}

一部は正しく起動するようにしましたが、私の試みはどれもうまくいきませんでした。たとえば、私の現在の取り組みは、ユーザーが日付を入力した場合にのみ検証ロジックを実行することです。ユーザーがポップアップ カレンダーから新しい日付を選択すると、検証は実行されません。

私は Web 開発に非常に慣れていないので、これは難しい問題ではないように思われるため、ここで根本的に間違ったことをしていると考えています。

4

2 に答える 2

0

あなたはすでにこれを修正しているかもしれませんが、私はこれを次のように書いたでしょう

<script type="text/javascript">
    $(document).ready(function(){
        $('#EndDate').change(function(){
            SomeValidationFunction();
        });
    });
</script>
于 2013-10-11T19:00:05.053 に答える
0

次のコードは、unfocusing またはblur日付をリッスンしています。イベントがある場合でもblur、jquery は有効な日付があるかどうかをチェックします。存在する場合、jQuery はコードを実行します。

$('#choose-date').on('blur',function(){ 
    if($(this).val()){
        console.log('changed date');
        //YOUR CODE HERE
    }
}); 
于 2015-12-08T18:00:35.357 に答える