0

ユーザーがさまざまな要件で新しいサーバーをプロビジョニングできるjqueryダイアログウィンドウがあります。ここで、ユーザーが [保存] をクリックすると、確認ウィンドウが開き、ユーザーがこれを実行したいかどうかを確認する必要があります。

私の主な関心事は、これがダイアログ ボックス内のダイアログ ボックスであるということです。

ダイアログボックスのコードは次のとおりです

$('#newenvironment').dialog({
    autoOpen: false,
    buttons: {
        'Save': function() {
            var url = "./environment/new/";

            // There is code here that processes the fields

            // code to send the data to the server

            // URL gets built
            c.post(url);

            $('#newenvironment').dialog('close');
        },
        'Cancel': function() {
            $('#newenvironment').dialog('close');
        }
    },
    modal: true,
    width: 640
});

ありがとう :)

4

1 に答える 1

1

次の行に沿って次のようなことができます。

HTML:

<div id="mainDialog">
    <div id="area">
       <h2>Server requirements </h2>
       Enter something: <input type="text" name="yada"/>
    <div>
</div>

<div id="confirmDialog">Are you sure?</div>

Javascript:

$("#confirmDialog").dialog({
    height: 250,
    modal: true,
    autoOpen: false,
    buttons: {
        "Yes": function() {
            $(this).dialog("close");

            // show some sort of busy indicator here

            var url = "./environment/new";
            // code to process inputs from main dialog
            //c.post(url);

            // clear busy indicator here
        },
        "No": function() {
            $(this).dialog("close");
            $("#mainDialog").dialog("open"); 
        }
    }
});

$("#mainDialog").dialog({
    height:350,
    modal: true,
    autoOPen: false,
    buttons: {
        "Save": function() {
            $(this).dialog("close");  
            $("#confirmDialog").dialog("open");
        },
        "Cancel": function() {
            $(this).dialog("close");
        }
    }
});

これにより、確認ダイアログが表示されている間はメイン ダイアログが閉じ、確認しない場合は再び開きます。または、確認ダイアログが開いている間、メイン ダイアログを開いたままにすることもできます。その場合、メイン ダイアログは、ユーザーが確認ダイアログを終了するまでブロックされます。

于 2013-09-13T21:11:47.897 に答える