我有一个包含 JQuery UI 选项卡小部件的网页。选项卡小部件通过 AJAX 加载选项卡。在其中一个标签页(命名为DescriptionPage)中,我有一个将通过 ajaxForm 插件提交的表单。
<div id="tabs">
<ul>
<li>
<a href="DescriptionPage">Description Page</a>
</li>
</ul>
</div>
这是我的DescriptionPage的内容。
<form id="myForm">
<!-- Form elements goes here -->
</form>
<script>
$(function(){
$('#myForm').ajaxForm(function (response) {
$('#myForm').parent().empty().append(response);
});
});
</script>
提交表单后,返回相同的DescriptionPage,包括表单和脚本。所以表单内容被替换为服务器端的响应。响应还包含验证消息。
问题是,整个场景在 Chrome 和 Firefox 中运行良好。但是在 Internet Explorer 8 中,发生了一个奇怪的问题。
首次加载选项卡时,javascript 已成功执行。当用户提交表单并放置响应时,IE 无法执行我的 javascript,说“JQuery 未定义”。
为什么 IE 无法在通过 ajax 加载的内容中调用 JQuery?有解决方法吗?
PS:我想将脚本与 html 分开,但这根本不是一个选择:(
P.S2:由于愚蠢的 IE,我的 javascript 和 CSS 文件变得一团糟。