在IE中通过ajax加载的局部视图中未定义jquery

Sad*_*ran 7 ajax jquery jquery-ui-tabs ajaxform

我有一个包含JQuery UI Tabs小部件的网页.Tab小部件通过AJAX加载选项卡.在其中一个标签页(将其命名为DescriptionPage)中,我有一个将通过ajaxForm插件提交的表单.

<div id="tabs">
    <ul>
        <li>
           <a href="DescriptionPage">Description Page</a>
        </li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的DescriptionPage的内容.

<form id="myForm">
  <!-- Form elements goes here -->
</form>

<script>
  $(function(){
    $('#myForm').ajaxForm(function (response) {
      $('#myForm').parent().empty().append(response);
    });
  });
</script>
Run Code Online (Sandbox Code Playgroud)

提交表单后,将返回相同的DescriptionPage,包括表单和脚本.因此,表单内容将替换为服务器端的响应.响应还包含验证消息.

问题是,整个场景在Chrome和Firefox中运行良好.但在Internet Explorer 8中,会出现一个奇怪的问题.

首次加载选项卡时,javascript成功执行.当用户提交表单并且放置响应时,IE无法执行我的javascript,说"JQuery未定义".

为什么IE无法在通过ajax加载的内容中调用JQuery?有解决方法吗?

PS:我想从html中分离脚本,但它根本不是一个选项:(

P.S2:由于愚蠢的IE,我的javascript和CSS文件变得一团糟.

Mar*_*ich 1

这似乎在 Internet Explorer 6 中对我有用:

索引.html:

<html><head></head><body>

<div id="container"></div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script src="jquery.form.js"></script>
<script>
    jQuery('#container').load('DescriptionPage.html');
</script>

</body></html>
Run Code Online (Sandbox Code Playgroud)

说明Page.html:

<form id="myForm">
    <input type="submit" />
</form>

<script>
    $(function() {
        $('#myForm').ajaxForm(function(response) {
            $('#myForm').parent().empty().append(response);
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)