March 7, 2012
jquery .serialize()
Question by Cjueden
I can’t get jquery .serialize() to work correctly. I have a form of dynamically generated checkboxes. The page wont submit the check boxes. Can you please tell me where I went wrong.
$('#prof_take_attendance_submit').live("click",function(){
var current_class = $('#class_choice :selected').attr('name');// GET CURRENT CLASS
var prof_id = $('#prof_id').text();// GET PROFFESSOR ID NUMBER
$("#prof_take_attendance_form").trigger('submit',function(){
var query_string = $(this).serialize();
});
$("#take_attendance_prof")// CALL TO FORM
.html(ajax_load)
.load(loadUrl, "form_being_submitted=prof_save_attendance&class="+current_class+"&prof_id="+prof_id+""+query_string);
$('#take_attendance_prof').fadeIn(200);
});
Answer by charlietfl
Based on assumption that $('#prof_take_attendance_submit')
is a submit button you are trying to serialize just the button
Try:
var query_string = $(this).closest('form').serialize();
Without more info about form is pretty hard to see what elese may not be working
EDIT: Get rid of trigger, bind submit to form not button
$("#prof_take_attendance_form").live('submit', function(){
var query_string = $(this).serialize();
/* other code and ajax*/
})