Jquery表单插件,在提交后访问表单字段值


Jquery form plugin, accessing form field values after submitting

我试图在提交表单后获得表单字段值。这里是我的Jquery:

$(document).ready(function() { 
    var options = { 
        target:        '.error_box_wrapper',
        dataType:      'html',
        beforeSubmit:  showRequest,
        success:       showResponse
    }; 
    $('#edit_group_form').live('submit', function() {
        $("#progress").show();
        $(this).ajaxSubmit(options); 
        return false;
    });
});
// pre-submit callback 
function showRequest(formData, jqForm, options) { 
    var queryString = $.param(formData); 
    var groupid = $('input[name=groupid]').fieldValue();
    return true; 
} 
// post-submit callback 
function showResponse(responseText, statusText, xhr, $form)  {  
    $("#leftside div#groups_container").load('includes/my_groups.php');
    $("#middle").load('includes/main_middle_div.php?view=editgroup&groupid=' + groupid); 
    $("#progress").hide(); 
} 

如您所见,我可以在预提交回调函数中获得表单字段值:

var groupid = $('input[name=groupid]').fieldValue();

但是,我无法在这里的post-submit回调函数中使用这个变量:

$("#middle").load('includes/main_middle_div.php?view=editgroup&groupid=' + groupid);

我想我要做的是将groupid变量从预提交回调函数传递到后提交回调函数。

scope issue…预提交缓存组

$(document).ready(function() { 
    var options = { 
        target:        '.error_box_wrapper',
        dataType:      'html',
        beforeSubmit:  showRequest,
        success:       showResponse
    }; 
    $('#edit_group_form').live('submit', function() {
        $("#progress").show();
        $(this).ajaxSubmit(options); 
        return false;
    });
});
// pre-submit callback 
function showRequest(formData, jqForm, options) { 
    var queryString = $.param(formData); 
    $(document).data("groupid", $('input[name=groupid]').fieldValue());
    return true; 
} 
// post-submit callback 
function showResponse(responseText, statusText, xhr, $form)  {  
    $("#leftside div#groups_container").load('includes/my_groups.php');
    $("#middle").load('includes/main_middle_div.php?view=editgroup&groupid=' + $(document).data("groupid")); 
    $("#progress").hide(); 
} 

groupid从哪里来??

它在另一个函数中,所以它和你试图访问它的地方不在同一个作用域中。