我有一个网页组成的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