我有一個網頁組成的JQuery UI標籤小部件。標籤小部件通過AJAX加載標籤。在其中一個標籤頁(將其命名爲DescriptionPage)中,我有一個將通過ajaxForm插件提交的表單。jQuery的部分視圖中未定義在IE中通過ajax加載
<div id="tabs">
<ul>
<li>
<a href="DescriptionPage">Description Page</a>
</li>
</ul>
</div>
這是我說明頁面內容。
<form id="myForm">
<!-- Form elements goes here -->
</form>
<script>
$(function(){
$('#myForm').ajaxForm(function (response) {
$('#myForm').parent().empty().append(response);
});
});
</script>
表單提交之後,同樣的說明頁面返回,無論是形式和腳本。所以表單內容被服務器端的響應所取代。該響應還包含驗證消息。
問題是,整個場景在Chrome和Firefox中運行良好。但在Internet Explorer 8中,會發生一個奇怪的問題。
當選項卡第一次加載時,javascript被成功執行。當用戶提交表單並將響應放入時,IE無法執行我的JavaScript,並說「JQuery未定義」。
爲什麼IE瀏覽器無法在通過ajax加載的內容中調用JQuery? 有沒有解決方法?
PS:我想從分隔條件HTML腳本,但它是不是在所有:(
P.S2一個選項:我的JavaScript和CSS文件變得愚蠢,因爲IE的混亂
這不會解決問題,但可以使用'$('#myForm')。parent()。html(response);' – 2011-03-19 02:04:44
有趣的是,錯誤顯示爲「jQuery」 '粘貼在這裏根本不使用變量「jQuery」。它是否告訴你哪些文件和行發生錯誤? – 2011-03-19 02:06:06
感謝您的回覆。在IE中,有一些使用html(響應)prenvet的bug,這就是爲什麼我順序使用了empty()和append()的原因。 – SadullahCeran 2011-03-19 02:09:32