Плагин формы Jquery, получающий доступ к значениям поля формы после отправки - PullRequest
1 голос
/ 16 ноября 2011

Я пытаюсь получить значение поля формы после отправки формы. Вот мой 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 ]

2 голосов
/ 16 ноября 2011

проблема с областью ... 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(); 
} 
0 голосов
/ 16 ноября 2011

Откуда берется groupid ???

Он находится в другой функции, поэтому он не находится в той же области, где вы пытаетесь получить к нему доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...