1

jQuery のフォーム プラグインを使用しようとしています。ここで JSON の例を使用しています。

jQuery Form Plugin を使用すると、何らかの理由で日付ピッカーがページに表示されません。私のjqueryファイルには次のものがあります:

jQuery.noConflict();

jQuery(document).ready(function($) {


    $('#csf_map_form').ajaxForm(function() {
        dataType: 'json',
        success: process_json
    });


    function process_json(data) {
        alert(data.csf_map_offense_group1);
    }



    $('#csf_map_start_date').datepicker({

        dateFormat : 'mm/dd/yy',
        yearRange : '2011:2011',
        changeMonth: true,
        changeYear: true,
        defaultDate : new Date(2011, 8-1,1),
        minDate : new Date(2011, 1-1,1),
        maxDate : new Date(2011, 8-1, 25)

    });



     $('#csf_map_end_date').datepicker({
        dateFormat : 'mm/dd/yy',
        yearRange : '2011:2011',
        changeMonth: true,
        changeYear: true,
        defaultDate : new Date(2011, 8-1, 25),
        minDate : new Date(2011, 1-1,1),
        maxDate : new Date(2011, 8-1, 25)

    });

});

私のphpファイルでは、フォームは次のようになります。

 //start form
        $output .= '<form id="csf_map_form" action="path-to-file/csf_map_form_handler.php" method="post" >'; 


    //1st datepicker
            $output .= '<div>';
            $output .= '<label for="csf_map_start_date">Start Date:</label>';
            $output .= '<div id="csf_map_start_date"  style="font-size: 10px;"></div>';
            $output .= '</div>';

    //2nd datepicker    
            $output .= '<div>';
            $output .= '<label for="csf_map_end_date">End Date:</label>';
            $output .= '<div id="csf_map_end_date"  style="font-size: 10px;"></div>';             
            $output .= '</div>';  

 //radio button group div           
            $output .= '<div style="float: left; width: 150px; margin: auto; padding-left: 20px; ">'; 
            $output .= '<label for="csf_map_group1">Select Offense:</label><br />';
            $output .=  '<input type="radio" name="csf_map_group1" checked="checked" value="TINY">Tiny</input><br />';  
            $output .=  '<input type="radio" name="csf_map_group1" value="MEDIUM"/>Medium</input><br />';
            $output .=  '<input type="radio" name="csf_map_group1" value="LARGE">Large</input><br />';
            $output .= '</div>'; //end radiobuttons

            $output .='<input type="submit" value="Submit" />';

            $output .=  '</form>';

何らかの理由で ajaxForm が datepicker と競合しています。$('csf_map_form').ajaxForm と process_json 関数で始まる関数をコメントアウトすると、フォームの日付ピッカーは正常に機能します。それらをコメントアウトしないと、日付ピッカーは表示されません。ただし、送信がクリックされるとアラートが発生します。ラジオボタンで何が選択されたかを警告します。

何が起こっているかについてのアイデアはありますか?どうすれば彼らに上手にプレイしてもらうことができますか? どのようなエラーが発生していますか?

ありがとうございました。

4

1 に答える 1

2

やあ、私はそれを理解しました。

1) インラインの日付ピッカーをデフォルトに変更しました。日付ピッカーの div を .

2) $('#csf_map_form') に '#' がありませんでした。

3) csf_map_form_handler.php では、フォームの情報の一部のみを返していました。開始日と終了日、およびラジオボタンの選択を返すように変更すると、機能しました。

ありがとうございました。

于 2011-09-21T23:21:16.837 に答える