jqModal の実験を始めたばかりで、奇妙な問題が発生しています。
モーダル ウィンドウは正しく表示されますが、ウィンドウ内の任意の場所をクリックすると JavaScript エラーが発生します。問題のあるコード行を見ると、jqModal がページ全体を 1 つの大きな 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 エラー: オブジェクトはこのプロパティまたはメソッドをサポートしていません
実行しようとしているコードを見ると、ページ全体であることがわかり、もちろんエラーが発生します。
何がこの動作を引き起こすのか、私にはわかりません。エラーが発生してもウィンドウは正常に機能し、[保存] をクリックするとアクション メソッドが呼び出されます。ヘルプ!
ありがとう!
リック