jQuery Form Plugin& jQuery DatePicker不能一起工作

时间:2011-09-21 21:37:07

标签: jquery jquery-ui-datepicker jquery-forms-plugin

我正在尝试使用jQuery的Form Plugin。我正在使用JSON示例here

由于某种原因,当我使用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冲突。如果我注释掉函数start $('csf_map_form')。ajaxForm和process_json函数,那么表单中的日期选择器工作正常。如果我不对它们进行评论,则不会出现日期选择器。但是,单击提交时会触发警报。它会警告radiobutton中选择的内容。

关于发生了什么的任何想法?我如何让他们玩得很好?我犯了什么错误?

谢谢。

1 个答案:

答案 0 :(得分:2)

华友世纪,我想通了。

1)我将内联日期选择器更改为默认值 - 将日期选择器上的div替换为。

2)我错过了$('#csf_map_form')中的'#'。

3)在csf_map_form_handler.php中,我只返回了表单信息的一部分。当我改变它,以便我返回开始和结束日期以及radiobutton的选择时,它起作用了。

谢谢。