【问题标题】:Jquery form plugin, accessing form field values after submittingjquery表单插件,提交后访问表单字段值
【发布时间】:2011-11-16 17:42:27
【问题描述】:

我试图在提交表单后获取表单字段值。这是我的 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 变量从提交前回调函数传递到提交后回调函数..

【问题讨论】:

    标签: php jquery forms field


    【解决方案1】:

    范围问题...在预提交中缓存 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(); 
    } 
    

    【讨论】:

      【解决方案2】:

      groupid从哪里来???

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

      【讨论】:

      • groupid 是表单字段的名称。如何将该变量传递给提交后回调函数?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      • 1970-01-01
      • 2017-11-26
      • 1970-01-01
      相关资源
      最近更新 更多