0

空の HTML テーブルへのリンクを追加したいと考えています。Firefox と Chrome では 0.2 秒以内に動作しますが、IE9 では動作しません。そこには少なくとも3分かかります。その理由は、配信されるデータがまったく異なるためです。3 つのブラウザすべてで同じクエリを実行しました。これが私のコードです:

function submitForm(dataString) 
{

    jQuery.ajax({
        type: 'POST',
        cache: false,
        dataType: 'text',
        url: 'retrieveFileList.php',
        data: {'data':dataString},
        success: function(data){
            jQuery('#tresults').append(data);
        }
    });

    return false;
}

php ファイルから返されるデータは次のようになります。

while($row = mysql_fetch_array($result))
{

$linktextpos = strrpos($row[0],"/",0);
$linktext = substr($row[0],$linktextpos);

echo "<tr>";
echo "<td>";
echo "</td>";
echo "<td>";
echo "<a color='#ffffff' href=\"" . $row[0] . "\"><font color=\"#ffffff\">" . "..." . $linktext . "</font></a>";
echo "</td>";
echo "</tr>";

}
4

2 に答える 2

0

あなたのphpは何行を返しますか? 私はこれをテストしていませんが、テーブルに多数の行を挿入することについて IE9 はあまり賢くないのではないかと思います。次のように挿入してみてください。

jQuery('#tresults').append($(data));

それでも問題が解決しない場合は、php 出力を でラップしてみてください<tbody></tbody>

.

于 2012-06-01T09:58:26.807 に答える
0

Ok。問題が見つかりました。HTML ファイルのヘッダーが間違っていました。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

MSIE ブラウザーはこれを認識せず (PublicID なし)、Quirks モードでレンダリングするため、document.getElementById()... が機能せず、SQL に間違ったパラメーターが渡されました。ぷぅ。

それは言うべきです:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/HTML4/loose.dtd">
于 2012-06-04T10:04:01.400 に答える