1

特定の日付のみが使用可能で、残りは無効になっているカレンダーを表示しています。すべての日付を取得してカレンダーを作成すると、問題なく表示されます

<script type="text/javascript">
    $(function() {
        $.post('/jreqlib', 
            { Action: 'GetDates',
            }, function(data) {

                var myNewDates = new Array;
                for (var x = 0; x < data['validPubDates'].length; x++) {
                    myNewDates.push(data['validPubDates'][x]);
                }
                var myValidDates = new Array;
                for (var x = 0; x<data['validPubDates'].length; x++) {
                    var theDate = data['validPubDates'][x];
                    myValidDates.push(theDate);
                }               
                $('#inlineDatepicker').datepick({
                    multiSelect: 999,
                    minDate : '-14d',
                    maxDate : '+2y',                        
                    onSelect : function (dateText, inst) {
                        //alert("Clicked');
                        //$("#FormId").click();
                        $(this).parent('form').submit();
                    },
                    onDate : getAllowed(myValidDates),
                }).datepick('setDate',myNewDates);
            }, 
        'json');            
    }); 
</script>

問題は、日付がクリックされたときに(ajax経由ではなく)フォームを送信したいということです。たくさんの投稿を見つけましたが、どれも機能していないようです。その「アラート」のコメントを外すと、「クリックされた」メッセージが表示されますが、フォームの送信を行うために見つけた他の2つまたは3つの方法は$("#FormId").click(); (yes the form has a id="FormId" in it)表示されません。$(this).parent('form').submit();

クリックするとそこに到達します。コメントがない場合はアラートが発生しますが、フォームが送信されないのはなぜですか?

(ところで-getAllowed関数は関連性があるとは思わなかったので投稿しませんでしたが、必要に応じて投稿します)

TIA

4

1 に答える 1

2

フォームにIDを指定してから、jqueryIDセレクターを介してsubmitを呼び出してみてください。

<form id="myFormID">
...
$('#inlineDatepicker').datepick({
    multiSelect: 999,
    minDate : '-14d',
    maxDate : '+2y',                        
    onSelect : function (dateText, inst) {
        $('#myFormID').submit(); // <-- SUBMIT LIKE THIS
    },
    onDate : getAllowed(myValidDates),
}).datepick('setDate',myNewDates);
于 2012-04-12T23:23:34.680 に答える