JQuery disable-Eingänge während ajax Absenden

Ich erstelle ein Formular mit Hilfe von Django, JQuery und JQuery Form plugin (http://jquery.malsup.com/form/) und ich möchten, deaktivieren Sie meine Formular-Felder beim warten auf server-Antwort. Mein code ist:

$(document).ready(function () {
        $('#load').hide();
        $('#error').hide();
        $('#success').hide();
        var myForm = $(this).find('input'); //finding all inputs
        $('#save').live('click', function () {
            $('#save_form').ajaxSubmit({
                success:function (data, statusText, xhr, $form) {
                    alert('success');
                    $form.find('.error').remove();
                    if (data['result'] == 'success') {
                        $('#success').show("slow");
                    }
                    else if (data['result'] == 'error') {
                        $('#error').show("fast");
                        //calling procedure to show errors
                    }
                    $('#load').hide("fast");
                },
                beforeSubmit: function(arr, $form, options) {
                    $('#error').hide();
                    $('#success').hide();
                    $('#load').show("fast");
                    $(myForm).attr('disabled', true);
                    alert('before submit');
                    return true;
                },
                error: function() {
                    alert("Failed to submit!");
                    $('#load').hide("fast");
                },
                timeout: 3000,
                dataType:'json'
            });
        });
    })

So, wenn ich drücken Sie Speichern, sehe ich, dass die Eingänge sind deaktiviert und ich bin immer "vor dem senden" alertbox, aber wenn ich drücken Sie OK, alle Eingänge werden aktiviert, auch Wenn ich schalten Sie antwortenden server.

Wie kann ich machen, damit es funktioniert?

InformationsquelleAutor mindmaster | 2012-02-02
Schreibe einen Kommentar