0

内部にaspボタンがあるJqueryモーダルウィンドウを使用しています。ここでの問題は、jQuery-UIが要素の外部にダイアログを作成するため、それをクリックしてもフォームが送信されないことです。私はこれを追加して修正しようとしました:

$(this).parent().appendTo(jQuery("form:first"));

ただし、私はJqueryを初めて使用するため、この行をどこに追加すればよいかわかりません。私は助けが近くにあると思いましたか?ありがとう!

jQuery(function ($) {
var OSX = {
    container: null,
    init: function () {
        $("input.osx, a.osx").click(function (e) {
            e.preventDefault();

            var dlg = $("#osx-modal-content").modal({
                overlayId: 'osx-overlay',
                containerId: 'osx-container',
                closeHTML: null,
                minHeight: 80,
                opacity: 65, 
                position: ['0',],
                overlayClose: true,
                onOpen: OSX.open,
                onClose: OSX.close
            });
        });
    },

    open: function (d) {
        var self = this;
        $(this).parent().appendTo(jQuery("form:first")); // <--APPENDING HERE
        self.container = d.container[0];
        d.overlay.fadeIn('fast', function () {
            $("#osx-modal-content", self.container).show();
            var title = $("#osx-modal-title", self.container);
            title.show();
            d.container.fadeIn('slow', function () {
                setTimeout(function () {
                    var h = $(document).height() - 25
                    d.container.animate(
                        {height: h}, 
                        300,
                        function () {
                            $("div.close", self.container).show();
                            $("#osx-modal-data", self.container).show();
                        }
                    );
                }, 200);
            });
        })
    },
    close: function (d) {
        var self = this;
        d.container.animate(
            {top:"-" + (d.container.height() + 20)},
            300,
            function () {
                self.close();
            }
        );
    }
};

OSX.init();

});
4

2 に答える 2

0

見た目からは使用しないでください.dialog()

次のスタイルを使用して、ダイアログの効果を作成できます

#mydialog{

    z-index:1000;
    position:absolute;
    top:100px;
    left:200px;

}

#overlay{

   z-index:999;
   background:transparent url(bg.png) repeat ...; 
}

$.blockUI()オーバーレイ効果にも使用できることに注意してください。

$('#mydialog').draggable(); //.resizable() if you want to
于 2012-09-10T21:24:48.583 に答える
0

$(el).modal({appendTo:'form'}); 正確な使用法については、以下を参照してください。

jQuery(function ($) {
var OSX = {
    container: null,
    init: function () {
        $("input.osx, a.osx").click(function (e) {
            e.preventDefault();

            $("#osx-modal-content").modal({
                overlayId: 'osx-overlay',
                containerId: 'osx-container',
                closeHTML: null,
                minHeight: 80,
                opacity: 65, 
                position: ['0',],
                overlayClose: true,
                onOpen: OSX.open,
                onClose: OSX.close,
                appendTo: 'form' // <--This appends to the form
            });
        });
    },
于 2012-09-10T21:31:13.090 に答える