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文件变得一团糟.
这似乎在 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)
归档时间: |
|
查看次数: |
2849 次 |
最近记录: |