我已經編碼,取決於下拉選定的項目,加載一些進一步的控制(單獨的內容索引== 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