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

时间:2011-11-16 17:42:28

标签: php jquery forms field

我正在尝试在提交表单后获取表单字段值。在这里我的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();

但是,我无法在提交后回调函数中使用此变量:

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

我认为我正在尝试将groupid变量从pre-submit回调函数传递给post-submit回调函数。

2 个答案:

答案 0 :(得分:2)

范围问题...预提交中的缓存groupid

$(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(); 
} 

答案 1 :(得分:0)

groupid来自哪里???

它在另一个函数中,因此它与您尝试访问它的范围不同。