1

我目前有一个电子邮件模板表。用户能够单击模板,并填充待点击的 td 上的电子邮件模板字段。我有一个在 FF 中可以正常工作的 JS 脚本,但在 IE 中却不行。

以下只是我的 php 的伪代码。

$somevar = mysql_query("...");
while (($anothervar = mysql_fetch_assoc($somevar))) {
    echo '<tr><td class="test">'.$email['email_name'].'</td><tr>';
}

这是我目前的 JS,它只适用于 FF。

function getName(e) {
    $('input[name="Clear Button"]').click(function () {
        $('span').text('');
    });
    var cell = e.target;
    cell = cell.innerHTML;
    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else { // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("test").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET", "/includes/adminPages/Update_Email.inc.php?selection_id=" + cell, true);
    xmlhttp.send();
}


window.onload = function () {
    var cells = document.getElementsByClassName("test");
    for (var i = 0, len = cells.length; i < len; i++) {
        cells[i].onclick = getName;
    }
};

只是为了记录,我确实看过下面的例子,但这并没有解决我的问题。

window.onload = new function() { alert('hello');};
4

1 回答 1

2

我看到你正在使用 jQuery,所以也许让我们重写它

$(window).on('load', function() {
    $('.test').on('click', function() {

        var id = $(this).html();

        $.get("/includes/adminPages/Update_Email.inc.php?selection_id=" + id, function(data) {
            $('#test').html(data);
        });
    });
});
于 2013-08-12T17:40:19.473 回答