Как использовать несколько кнопок OK в пользовательском диалоговом окне Adobe-JS?

Я создаю пользовательское диалоговое окно с помощью Adobe Livecycle Designer ES2 и не могу понять, как и вообще возможно ли получить два элемента type:"ok", выполняющих разные действия.

Я хочу иметь одну обычную кнопку «ОК» внизу и гиперссылку на веб-сайт вверху.

Это уже мешает мне использовать "ok_cancel" и так далее, потому что, насколько мне известно, эти кнопки не являются разделяемыми в макете.
Я не знаю, как сделать обработчик событий для кнопки, где Я бы запустил URL-адрес или даже возможно обработать событие щелчка элементов «ok» вне «commit».
Также я не понимаю, как функция «commit» выбирает свою кнопку «ok», потому что в еще одно мое диалоговое окно вызывается нижней кнопкой OK, которая находится в нижней части кода, в отличие от этого случая, когда верхняя кнопка запускает функцию «фиксации».

Вот мой код, чтобы было понятнее: я не хочу, чтобы элемент «ссылка» вызывал «фиксацию», а элемент «okbo». И я хочу сделать новую функцию для clickEvent ссылки.

var dialogBox =
{
    description:
    {
        elements:
        [{  
            type: "static_text",
            name: "Text about the link",
        },
        {
            type: "ok",
            item_id: "link",
            ok_name: "Go to Link",
        },
        {
            type: "static_text",
            name: "Some more Information",
        },
        {
            type: "ok",
            item_id: "okbo"
        }]
    },
    commit: function(dialog)
    {
        app.alert("This is triggered by the OK-Button with the ID 'link' \n and I don't know why!");
    }
};
app.execDialog(dialogBox);

Если невозможно работать с разными "ОК"-элементами в одном диалоге, я открыт для предложений о том, как получить гиперссылку в моем диалоге другим способом!

Это мой самый первый вопрос о StackOverflow, поэтому, пожалуйста, не убивайте меня: P;)


person Cold_Class    schedule 08.10.2014    source источник


Ответы (1)


Смотрите обновленный код и мои комментарии ниже. Дополнительные сведения о функции Dialog и execDialog см. здесь.

Некоторые элементы управления не задокументированы, например:

•   link_text: a hyper link control
•   mclv: a multi-column list view (or grid)
•   slider: a slider 
•   ok_help, ok_cancel_help, ok_other_help, ok_other_cancel_help controls
•   separator: draw a line horizontal or vertical with optional caption
•   Heading and Title fonts about 10pt and 12pt respectively
•   margin_width, margin_height properties for the view control
•   back_color, gradient_direction, gradient_type for the view control
•   A Dialog.setForeColorRed() method
•   A Dialog.visible() method to show/hide controls

Дополнительные сведения см. в этом источнике.

var dialogBox =
    {
        description:
        {
            elements:
            [{      
                name: "Link to google",         
                type: "link_text",  // add a hyperlink  
                item_id: "lnk1",
                alignment: "align_center",      
            },        
            {  
                type: "static_text",
                name: "Text about the link",
            },
            {
                type: "button",  // add a custom button
                item_id: "link",
                name: "Go to Link",
                alignment: "align_center",
            },
            {
                type: "static_text",
                name: "Some more Information",
            },
            {
                type: "ok",
                item_id: "okbo"
            }]
        },
            commit: function(dialog)
            {
                app.alert("okbo!"); //executed only for first ok type
            },

            "link": function () // handler of the custom component by id name
            { 
                xfa.host.gotoURL("http://www.yahoo.com");
            },

            "lnk1": function () 
            { 
                xfa.host.gotoURL("http://www.google.com");
            }

    };
    app.execDialog(dialogBox);
person Alexandru Deliu    schedule 08.10.2014
comment
Я читал справочник по сценариям раньше на странице 98, где я думал, что описание "type" перечисляет ВСЕ возможные типы, потому что там сказано, что это ДОЛЖЕН быть один из следующих, но "link_text" нет в списке. Я заметил ту же проблему с "font", в описании не сказано "title", хотя он существует... Есть ли какой-нибудь документ, в котором действительно перечислены ВСЕ возможные типы??? - person Cold_Class; 10.10.2014
comment
Вы правы, некоторые элементы управления не задокументированы, например: • link_text: элемент управления гиперссылкой • mclv: многоколоночный список (или сетка) • ползунок: ползунок, но я не получил его для возврата значения. Подробнее см. здесь: adobelivecycledesignercookbookbybr001.blogspot.ca/ - person Alexandru Deliu; 10.10.2014
comment
Хорошо, большое спасибо :) Я видел этот сайт раньше, но никогда не читал его внимательно - там много полезной информации! - person Cold_Class; 10.10.2014