我正在尝试使用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中选择的内容。
关于发生了什么的任何想法?我如何让他们玩得很好?我犯了什么错误?
谢谢。
答案 0 :(得分:2)
华友世纪,我想通了。
1)我将内联日期选择器更改为默认值 - 将日期选择器上的div替换为。
2)我错过了$('#csf_map_form')中的'#'。
3)在csf_map_form_handler.php中,我只返回了表单信息的一部分。当我改变它,以便我返回开始和结束日期以及radiobutton的选择时,它起作用了。
谢谢。