1
$.post(
    $("#formReg").attr("action"), $("#formReg").serialize(),
    function(data, textStatus, jqXHR) {
            $("#info").html(data);
        alert (data); // to check - ok - `folder` is displaying
        if ($("#info").html() == "folder"){
        $("#imgOk").fadeIn();  //doesn't work
        }
});

アラートによってチェックされ、コンテンツとして画面に表示されますが、#info別のコンテンツがあり、ないようです。folderfolder

4

1 に答える 1

1

ajax リクエストを実行するときに、返される結果に空白を挿入するコードがサーバー上にある場合があります。<?php空白がどこに追加されているかを確認するのは必ずしも簡単ではありませんが、PHP などで前に単一のスペースがあるように、コードの前後にスペースがある可能性があります。

最善の方法は、サーバー側でスペースを単純に削除することですが、javascript には、文字列から後続の空白を削除するトリム メソッドもあります。

if ($("#info").html().trim() == "folder"){...}

その関数は古いブラウザーではサポートされていないため、それが問題である場合は正規表現を使用できます。または、既に jQuery を使用しているため、同様のクロス ブラウザー関数を使用できます。実際には、trim()新しいブラウザーで同じネイティブ メソッドを使用します。古いブラウザーでは regex を使用しているため、心配する必要はありません。

$.post($("#formReg").attr("action"), $("#formReg").serialize(), function(data) {
    $("#info").html(data);
    if ($.trim(data) == 'folder') $("#imgOk").fadeIn();
});
于 2013-01-13T18:28:47.703 に答える