我使用以下脚本将一些内容发布到服务器,并将json结果写回用户浏览器。它没有像预期的那样工作:(
$(document).ready(function () {
$('#productForm').ajaxForm({
dataType: 'json',
success: function (response) {
var tmp = '<tr>';
tmp += '<td><a href="/Invoice/DeleteProduct/' + response.Id +'>Kasta</a></td>';
tmp += '<td>' + response.Quantity + '</td>';
tmp += '<td>' + response.UnitPrice + '</td>';
tmp += '<td>' + response.ProfitRate + '</td>';
tmp += '<td>' + response.Description + '</td>';
tmp += '<td>' + response.Total + '</td>';
tmp += '</tr>';
$('#productsBody').append(tmp);
alternateRows();
},
clearForm: true,
resetForm: true,
timeout: 3000
});
}); 在火狐中一切都很好,在chrome中新行根本不显示,但我有一些小区域改变了颜色。
在internet explorer 8中,我没有得到链接,它把链接当作普通的文本。我会再尖叫一些,希望有人能告诉我,当我尖叫着回来的时候,它为什么不起作用。
发布于 2010-08-05 04:50:35
试着改变
tmp += '<td><a href="/Invoice/DeleteProduct/' + response.Id +'>Kasta</a></td>';为了..。
tmp += '<td><a href="/Invoice/DeleteProduct/' + response.Id +'">Kasta</a></td>';发布于 2010-08-05 04:51:42
这可能是一个<tbody>问题:浏览器会自动将一个tbody附加到您正在做的事情所破坏的表结构中。不确定,但您可以尝试在tr周围包装一个tbody,看看它的行为是否更好。也许其他人有不同的想法。
除此之外,Chrome的"Inspect元素“是你的朋友:它应该能够告诉你标记的哪一部分被篡改了。
发布于 2010-08-05 05:41:05
这是不可能的。即使你今天让它在所有的浏览器上工作,它也可以很容易地在明天的浏览器和下一个版本中破解。(假设有一个新版本的jQuery可以修复任何可能的问题,如果没有,我想你只能等待并容忍一个坏掉的网站。)
唯一100%确定的答案是:如果你需要一个一致的平台,不要使用JavaScript进行严肃的开发,使用虚拟机解决方案,如Silverlight、Flex或JavaFX。JavaScript/AJAX/DHTML应该只用在非任务关键型的东西上,这些东西你已经坏了几天了。
https://stackoverflow.com/questions/3409700
复制相似问题