Вот мой сценарий.
Я вызываю jqModal, используя его функциональность ajax, которая отображает форму в модальном диалоге. Пользователь заполняет некоторую информацию и отправляет форму, которая возвращает html в ответ.
Полученный html отображается внутри элемента jqModal. Затем пользователь нажимает кнопку Закрыть, чтобы закрыть модальное диалоговое окно.
Пока все работает правильно.
Вместо этого я хочу закрыть диалоговое окно отправки и обновить div с ответом от сервера.
Телефонный код:
<script type="text/javascript">
$(document).ready(function () {
$('#jqmWindowContainer').jqm({
modal: true,
ajax: '.... url to display my form ...',
onHide: myAddClose,
ajaxText: 'Loading',
toTop: true,
});
function myAddClose(hash) {
hash.w.fadeOut('300', function () { hash.o.remove(); });
}
});
</script>
Разметка страницы вызова. Нажатие «Сохранить этот поиск» вызывает диалоговое окно.
<a href="#" class="jqModal">Save this search</a>
<span id="jqmWindowContainer" class="jqmWindow"></span>
Форма, которая отображается:
<div class="jqmPopupForm" id="jqmPopupForm">
<div id="loadingMessage" style="display: none;">
Saving...
</div>
<% using (Ajax.BeginForm("Save", "AssetSearch",
new AjaxOptions()
{ HttpMethod = "Post", InsertionMode = InsertionMode.Replace,
UpdateTargetId = "jqmPopupForm",
LoadingElementId = "loadingMessage"
}))
{%>
.... some html input elements go here ...
<input type="submit" value="Save Search" />
<a class="jqmClose" href="#">Cancel</a>
<%
}%>
</div>
В настоящий момент весь тег jqmPopupForm заменяется результатами отправки формы.
Как я могу закрыть диалог и обновить div на странице, вместо того, чтобы пользователь закрывал диалог?