オーバーレイで表示するポップアップにAjaxフォームがあります。私はajaxを介してポップアップを提出し、Ajax呼び出しが成功した場合にオーバーレイを閉じる必要があります。ここでAsp.Net MVC/jQueryツールオーバーレイ: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>
問題は、それが現在何を閉じていないということです。私はクロムデバッグモードで二重にチェックされていますが、それはメソッドに含まれていますが、何もしません。私はJSエラーもチェックしなかった。
私は
$("#adm-form-addVariable").overlay({ api: true }).close()
が、同じ問題を実行しようとしました。 。( "#ADM-フォームaddVariable")オーバーレイ({API:真})
$:私はこれを行う場合は
$(".adm-btn-overlay-trigger[rel]").overlay( { mask: { color: '#111', loadSpeed: 300, opacity: 0.9 }, closeOnClick: true } );
:ここ
は、私はそれを宣言する方法です。 isOpened()
不明な点があります。
私は間違っていますか?
、私が試したし、それが動作します。理由を理解しようとしているのですか? [rel]はプロパティのアクセサーではありませんか?それはxpath表現の権利ですか?なぜ私が以前に理解していなかったのかを説明するかもしれない。シスコ:何が素晴らしいツールjsfiddleです!!!!私は以前知りませんでした!巨大なファン:) – J4N
jQueryの表現では、基本的に「rel属性を持つクラス.adm-btn-overlay-triggerの要素」と書かれています。 jqueryツールは、オーバーレイ要素自体ではなく、トリガーに関するオーバーレイに関する情報を格納しているようです。それはデザインの選択です。ところで、$( ".adm-btn-overlay-trigger [rel]")は複数の結果を返すことができるので、私の初期の解決法は複数のトリガでは機能しません。私は、動作するソリューションで自分の答えを更新しました。 –
ああ、私はちょうどここに最近ここでjsfiddlerについて学んだ。確かに素晴らしいツールです! –