2016-05-16 7 views
-1

IE(Internet Explorer)を除くすべてのブラウザで正常に動作するコードを処理しています。ここでIE上でJQueryが正常に動作しない

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 
      }); 
     } 
    } 

問題がshowNoticeMessages文が実行取得されたときに、そこに1件の通知メッセージがポップアップを取得しているが、ポップアップウィンドウを閉じる前に、アクションが実行されるなっ提出しています。 期待される結果:ユーザーがポップアップボタンをキャンセルし、もう一度送信ボタンを押してからアクションを呼び出すのを待つ必要があります。

このコードを期待どおりに実行するために変更を加えることができるかどうかを確認してください。

+1

'calculateTotal()'はどのように使用していますか? – Satpal

+0

グリッドの下の1つの列の編集で呼び出されています。editable = "$ {contractChargeDetailFlag.editAmount? 'true': '}'のコードは、このフィールドを編集してタブアウトする前に、送信ボタンを直接クリックします。 –

+0

ブラウザに送信される実際のコード(ブラウザの表示/ソース)を表示できますか?これは '$ {....} 'のように見えますが、おそらくブラウザに送られる前に物事が置き換えられているのかもしれません。ブラウザが実際に何を実行しようとしているのかを確認する必要があります。そして、 'openPopup()'はどこから来たのですか? – jfriend00

答えて

0

私が作った非同期=: はIE9のためと

の上にのみ利用可能ですが、以前の回答を参照してください。

関連する問題