У меня есть форма Ajax во всплывающем окне, которое я отображаю с вашим оверлеем. Я отправляю всплывающее окно через ajax, и мне нужно закрыть оверлей, если вызов ajax был успешным.
Вот мой код JS:
<script type="text/javascript">
$(function () {
// Handle form submit ...
$("#AddVariableForm").live("submit", function (event) {
event.preventDefault();
var form = $(this);
$.validator.unobtrusive.parse('#AddVariableForm');
$.ajax({
url: form.attr('action'),
type: "POST",
data: form.serialize(),
success: function (data) {
if(data.Success){
$("#adm-form-addVariable").data("overlay").close();
}
},
error: function (jqXhr, textStatus, errorThrown) {
alert("Error '" + jqXhr.status + "' (textStatus: '" + textStatus + "', errorThrown: '" + errorThrown + "')");
},
complete: function () {
alert('complete');
}
});
return false;
});
});
</script>
Проблема в том, что в данный момент он ничего не закрывает. Я дважды проверил режим отладки Chrome, он входит в метод, но ничего не делает. Я тоже проверил, ошибок JS нет.
Я пытался сделать
$("#adm-form-addVariable").overlay({ api: true }).close()
но та же проблема.
Вот как я это заявляю:
$(".adm-btn-overlay-trigger[rel]").overlay(
{
mask: {
color: '#111',
loadSpeed: 300,
opacity: 0.9
},
closeOnClick: true
}
);
Если я сделаю это:
$ ("# adm-form-addVariable"). Overlay ({api: true}). IsOpened ()
Я получаю неопределенное.
Что я делаю не так?