2011-01-11 10 views
0

Ich habe diese Ajaxform-Funktion mit einer Erfolgsfunktion geschrieben, die aufgerufen wird, um das Formular zu unterstützen. Die Ajaxform funktioniert AWESOMELY in jedem anderen Browser als IE. Ich kann nicht verstehen, warum IE die Funktion nicht übergibt.IE keine Erfolgsfunktion in AJAXFORM übergeben

AjaxForm:

function setupAjaxForm(form_class, updateStatus){ 
      var form = '.'+form_class; 
      var form_action = $(form).attr('action'); 
      var form_url = form_action+"ajax/"; 

      var submitOptions = { 
        url : form_url, 
        type : 'POST', 
        dataType : 'json', 
        success : function(json) { 
        var results = json.results; 
           alert(results); 
        if(results == "success"){ 
         updateStatus(json); 
        }else{ 
         alert(" FAIL "); 
            } 
        } 
      }; 
      $(form).ajaxForm(submitOptions); 
     } 

Erfolgsfunktion:

function addProductCartStatus(json){ 
    alert(" Entered for jquery "); 
} 

Aufruf Funktion

$(document).ready(function(){ 
    $('.addto_cart').click(function(){new setupAjaxForm('add_cartForm',addProductCartStatus);}); 
}); 
+0

Es gibt keinen Grund für ' neu, hier rufen Sie keinen Konstruktor auf. Auch der Codeeinzug ist schrecklich, ich habe 3 Versuche gebraucht, um herauszufinden, dass das '}' nach der Warnung mit der anonymen Funktion übereinstimmt ... –

+0

Es funktioniert in Firefox und anderen Browsern, es funktioniert nicht IE Browser. Also, das bedeutet, dass alle Funktionen funktionieren. Nach welcher Warnung? Wenn ich falsch liege, bitte erkläre dich selbst. –

Antwort

0

diese Antwort geht in erster Linie um Ihre neuesten Kommentar

Internet Explorer in einigen Fällen mehr steif . diese Linie result = "success" als falsch erwähnt ist und Konvertiten führen in einen String mit dem Wort Erfolg in ihm und ist immer wahr, so dass es immer

aktualisiert seine auch ein error:function(){} auf Ajax-Aufruf zu dem empfohlenen

+0

Danke, es richtig zu zeigen :) –

+0

Ich hoffe, wenn geholfen und immer mit jedem Browser Entwickler-Tools jeder Wert der Variablen zu überprüfen. – elasticrash

0

Sollte

if(result == "success") 

sein und sollten Sie "{" für Ihre wenn

if(result == "success") { 
    updateStatus(json); 
} else { 
+0

Eigentlich sollte es '===' sein, denn niemand sollte jemals das russische Roulette vom Typ Zwangszauber spielen, ja, es könnte für String == String ok sein, aber es ist eine Frage der Konsistenz :) –

+0

HAHAHA, lass mich es versuchen Russian Roulette :) aber in IE wird die Alert (Ergebnisse) -Funktion nicht einmal aufgerufen. –