我已经编码,取决于下拉选定的项目,加载一些进一步的控制(单独的内容索引== 0与索引> = 1)。初始选择的选定项目在服务器端预先设定。我已经和重新加载/缓存问题,用户改变但不提交表单,然后单击重新加载。最初,我从服务器加载默认启动,但浏览器重新加载导致不正确的表单状态,因为它(尤其是IE)记住了最后选择的 - 但未提交 - 控制对象,如果用户点击刷新。所以,我有这个代码。在其他浏览器中工作正常,但在IE中,不呈现内容。jQuery负载不反映IE浏览器
$(window).load(function(){
$.ajaxSetup({cache: false})
var theProduct = '';
if ($('#chooseProduct').attr('selectedIndex') > 0) {
theProduct = '&product=' + $('#chooseProduct').val();
}
setEvent($('#chooseProduct').attr('id'), 'product_req');
$('#productSubselection').load(
'/netpub/server.np?base&site=ddfa&catalog=catalog&template=regions.np' + theProduct//,
);
$(document).ready(function(){
$('#chooseProduct').change(function(Event){
setEvent($('#chooseProduct').attr('id'), 'product_req');
$('#productSubselection').load(
'/netpub/server.np?base&site=ddfa&catalog=catalog&template=regions.np', $(this).serialize()//,
);
});
$('#browseall').click(function(Event){
deleteCookie('product_req');
});
});
});
使用记录/警报,我可以确认IE正在呼叫正确的内容。如果我把AJAX调用的URL放在一个正常的IE窗口中,我会得到预期的内容 - 格式良好的HTML - 返回。 IE或任何其他浏览器都不会抛出任何JS错误。我已经尝试将代码的最初部分放入“准备好”事件中,但它没有区别。我做了什么明显错误?
我认为这可能只是第一行。如果我将它改为:$(window).load(function(Event){它似乎工作,但所有其他代码在加载时运行,所以'Event'有什么不同? – mwra 2010-09-09 19:55:13
或者Firefox和Chrome现在加载在页面加载/刷新时添加Ajax内容Safari和IE不会。 – mwra 2010-09-09 20:13:43