2016-07-26 15 views
-1

Ich habe einen Button, der nur sichtbar sein muss, wenn das Formular gültig ist. Ich schreibe dies:Jquery change disabled Button beim Senden des Formulars

function submit_form(){ 
var('#button2').attr('disabled',true); 
$.ajax({ 
    type : "POST", 
    data : $('#formset').serialize(), 
    success : function(json) { 
     console.log(json); 
     console.log("form sent!"); 
    }, 
    $('#button2').attr('disabled', false); 
    error : function(xhr,errmsg,err) { 
     console.log('error occured'); 
    } 
}); 

} aber es funktioniert nicht. Wo ist ein Fehler?

+0

Fehler in dieser Variablendeklaration. 'Var ('# button2') attr ('disabled', true);' –

Antwort

1

Nur müssen Sie ändern prop

Verwenden prop()

Hier ist es in der ersten Zeile zu Fehler scheint var('#button2')

function submit_form(){ 
$('#button2').prop('disabled',true); 
$.ajax({ 
    type : "POST", 
    data : $('#formset').serialize(), 
    success : function(json) { 
     console.log(json); 
     console.log("form sent!"); 
     $('#button2').prop('disabled', false); 
    }, 

    error : function(xhr,errmsg,err) { 
     console.log('error occured'); 
    } 
}); 
+0

ich meinen Code aktualisieren, in der Konsole kann ich sehen, "Form geschickt!", Aber die Taste ist immer noch deaktiviert ... – kaja

+0

müssen Sie die bution @kaja einmal Formular gesendet aktivieren? –

0

Haben Sie den Knopf in die Erfolgsfunktion zu setzen versucht?

function submit_form(){ 
var('#button2').attr('disabled',true); 
$.ajax({ 
    type : "POST", 
    data : $('#formset').serialize(), 
    success : function(json) { 
     console.log(json); 
     console.log("form sent!"); 
     $('#button2').attr('disabled', false); 
    }, 

    error : function(xhr,errmsg,err) { 
     console.log('error occured'); 
    } 
}); 
0
function submit_form(){ 
var('#button2').attr('disabled',true); 
$.ajax({ 
    type : "POST", 
    data : $('#formset').serialize(), 
    success : function(json) { 
     console.log(json); 
     console.log("form sent!"); 
    $("#button2").attr("disabled",false); 
// $("#button2").prop("disabled",false); 
// can use prop instead of attr 

}, 
    error : function(xhr,errmsg,err) { 
     console.log('error occured'); 
    } 
}); 
+0

Verstand erklären ein bisschen mehr? –

0

bereits.

Sie sollten Knopf immer aktivieren, ob ajax Anfrage erfolgreich abgeschlossen wurde oder nicht.

function submit_form() { 
    $('#button2').prop('disabled',true); 
    $.ajax({ 
     type : "POST", 
     data : $('#formset').serialize(), 
     success : function(json) { 
      console.log(json); 
      console.log("form sent!"); 
     }, 

     error : function(xhr,errmsg,err) { 
      console.log('error occured'); 
     }, 

     complete: function() { 
     $('#button2').prop('disabled', false); 
     } 
}); 
+0

Es funktioniert leider nicht ... Kann das Problem in HTML sein? kaja

Verwandte Themen