2016-05-16 18 views
-1

Ich habe es mit einem Code zu tun, der in allen Browsern außer IE (Internet Explorer) funktioniert.JQuery funktioniert nicht richtig auf IE

function calculateTotal(rowid, event) { 
     jQuery.ajax({ 
      type:"GET", 
      url:"${createLink(action:'adjustTax', controller:'contractChargeTypeGrid')}", 
      success:function (data, status, response) { 
       if (data.adjustTax == true) { 
        showNoticeMessages(["${il.message(value: 'taxes.exist.adjust.accordingly')}"], showAdjustmentForAdd); 
       } else { 
        showAdjustmentDialog(); 
       } 
      } 
     }); 
     event.stopImmediatePropagation(); 
     event.preventDefault(); 
    } 

function showAdjustmentForAdd() { 
     if (!isNewRecord) { 
      showAdjustmentDialog(); 
     } 
    } 

function showAdjustmentDialog(rowid) { 
     var modalUrl = "${createLink(action:'chargeAdjustment', controller:'contractChargeTypeGrid')}"; 
     var editedRows = getNumEditedRows("chargeDetails"); 
     if (!adjustmentFlag) { 
      openPopup(modalUrl, 'Reason for Adjustment', '', '', function() { 
       adjustmentFlag = true 
      }); 
     } 
    } 

hier Probleme ist, wenn showNoticeMessages Anweisung ausgeführt zu werden, gibt es eine Benachrichtigung Popup wird immer, aber bevor die Popup-Fenster zu schließen, sendet Aktion ausgeführt zu werden. Erwartetes Ergebnis: Wir sollten warten, bis der Benutzer die Popup-Schaltfläche abbricht und dann erneut die Senden-Schaltfläche drückt und dann die Aktion aufrufen.

Bitte überprüfen Sie den Code und lassen Sie mich wissen, wenn wir Änderungen vornehmen können, um diesen Code mit unseren Erwartungen auszuführen.

Dank

+1

Wie und wo verwenden Sie 'calculateTotal()'? – Satpal

+0

Das wird beim Editieren einer Spalte unter dem Gitter aufgerufen. Hier finden Sie den Code Wenn wir dieses Feld bearbeiten und vor dem Tab, klicken Sie direkt auf den Absenden-Button. –

+0

Können Sie uns den tatsächlichen Code zeigen, der an den Browser gesendet wird (Ansicht/Quelle im Browser)? Das sieht so aus als würden die "$ {....}" -Dinge wahrscheinlich durch etwas anderes ersetzt, bevor sie an den Browser gesendet werden. Wir müssen sehen, was der Browser tatsächlich auszuführen versucht. Und woher kommt 'openPopup()'? – jfriend00

Antwort

0

ich gemacht async = flase und die dieses Problem behoben.