1

Webサーバーにデータを投稿し、成功または失敗のステータスを返しています。ajaxの投稿後に、確認メッセージまたはエラーメッセージをユーザーに表示したいと思います。ChromeとIE9では期待どおりに機能しますが、IE8ではdiv確認メッセージである新しく追加されたメッセージは表示されません。

IE 8のDOMインスペクターを使用して、div要素が実際にはDOMに追加されているが、表示されていないことがわかりました。要素を追加した後、IEが何らかの画面更新イベントを取得していない可能性がありますか?コードの他の場所にあるajaxコールバック関数にDOM要素を追加しています。$.getJSON()これは、IEがPOSTメソッドを認識しており、DOMを更新しないことを決定しているようです。

私のajaxコードは次のようになります:

$.post("adminpage.ashx?action=newAccount", newData, function (response) {
      getAccount(newData.accountNum);   // display the new account
      if (response == "success") {
          createAlert("Account was successfully updated.", "success").appendTo(".container");
      } else if (response == "error") {
          createAlert("There was an error updating the account.", "error").appendTo(".container");
      }
});

createAlert()確認またはエラーメッセージとともにdivを返します。

前もって感謝します。

編集:これが私のcreateAlert関数のコードです:

function createAlert(message, type) {
    var alert = $("<div>");
    alert.addClass("alert alert-block");
    if (typeof type != "undefined") {
        alert.addClass("alert-" + type);
    }

    var dismissButton = $("<button>");
    dismissButton.addClass("close").attr("data-dismiss", "alert").text("x");
    dismissButton.appendTo(alert);

    var alertText = $("<p>");
    alertText.text(message);

    alert.append(message);

    return alert;
}

そして、IE8のデバッガーが示すHTMLは次のとおりです。

<DIV class="alert alert-block alert-success">
    <BUTTON class=close type=submit data-dismiss="alert">x</BUTTON>Account was successfully updated.
</DIV>
4

1 に答える 1