2012-04-12 19 views
1

私は特定の日付のみを表示し、残りは無効にしたカレンダーを持っています。私は、問題は、私は日付がクリックされたときに(ないAJAX経由)フォームを送信したいですJQuery Datepickで選択した上でフォームを投稿

<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> 

問題なくすべての私の日付を取得し、カレンダーを作る、それが表示されます。私はたくさんの投稿を見つけましたが、どれもうまくいかなかったようです。 「警告」を非表示にすると、「クリック済み」メッセージが表示されますが、$("#FormId").click(); (yes the form has a id="FormId" in it)または$(this).parent('form').submit();のいずれのメッセージも表示されません。

私はクリックでそこに着いています、コメントはun-commentedなら警告が発せられます、どうしてフォームは提出されませんか?

(ところで - 私はそれが関連すると思わなかったので、私はgetAllowed機能を投稿しませんでしたが、必要であれば、私は意志)

TIA

答えて

2

を経由して送信する呼び出し、その後、フォームにIDを与えてみてくださいjquery idセレクタ:

<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); 
+0

私は結んでいると断言できましたが、それは動作しませんでしたが、今回はありました!ありがとう!! – Analog

+0

フォームIDを必要としない、より汎用的なソリューションがあります。http://stackoverflow.com/questions/35041664/most-reusable-code-for-submit-on-select-with-jquery-datepicker – DJDave

関連する問題