我刚开始尝试 jqModal 并且遇到了一个奇怪的问题。
模态窗口正确显示,但是当我单击其中的任何位置时出现 javascript 错误。当我查看有问题的代码行时,发现 jqModal 试图运行我的整个页面,就好像它是一大段 javascript。
自从我写了这篇文章后,我发现代码在 FireFox 中运行良好。问题当然是IE。
我的标记:
<script type="text/javascript">
$(document).ready(function () {
$('#jqmWindowContainer').jqm({
modal: true,
ajax: '<%: Url.Action("Save", "AssetSearch") %>',
onHide: myAddClose
});
function myAddClose(hash) {
hash.w.fadeOut('300', function () { hash.o.remove(); });
}
});
</script>
<a href="#" class="jqModal display-field-right">Save this search</a>
<span id="jqmWindowContainer" class="jqmWindow">
</span>
模态窗口标记:
<div id="modalWindow" class="jqmWindow">
<% using (Ajax.BeginForm("Save", "AssetSearch", new AjaxOptions() { HttpMethod = "Post", InsertionMode = InsertionMode.Replace, UpdateTargetId = "modalWindow" }))
{%>
<!-- Validation summary -->
<div class="validation-summary">
<%=ViewData["Message"]%>
</div>
<%=Html.LabelFor(x => x.Name)%>
<%=Html.TextBoxFor(x => x.Name)%>
<!-- Submit button -->
<div class="submit-form">
<input type="submit" value="Save" />
</div>
<%
}%>
</div>
<a class="jqmClose" href="#">Close</a>
单击“保存此搜索”链接正确显示模式窗口。单击模式中的任意位置会导致此错误:
行:5 错误:对象不支持此属性或方法
当我查看它试图执行的代码时,结果是我的整个页面当然会触发错误:
我不知道什么会导致这种行为。如果我继续跳过错误,则窗口可以正常工作,并且当我单击“保存”时会调用我的操作方法。帮助!
谢谢!
瑞克