如何在Adobe-JS自定义对话框中使用多个OK按钮?

时间:2014-10-08 08:47:12

标签: javascript pdf dialog livecycle-designer

我正在使用Adobe Livecycle Designer ES2创建一个自定义对话框,我无法找到如何或者甚至是否可以获得两个类型:“ok” -Elements在那里做不同的的东西。

我想在底部有一个常规的OK按钮,我希望在顶部有一个指向网站的超链接。

这已经阻止我能够使用“ok_cancel”等等,因为据我所知,这些按钮在布局中是不可分的。
我不知道如何为我要启动URL的按钮创建事件处理程序,或者甚至可以在“commit”之外处理“ok”-Elements的click事件。
另外我不明白“提交”功能如何选择其ok按钮,因为在我的另一个对话框中,它由位于代码底部的下方OK按钮触发,这与上部按钮触发的情况不同“提交”功能。

这是我的代码,使它更清晰 - 我不希望“link”元素触发“提交”,但“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);

如果在一个对话框中使用不同的“ok”-Elements是不可能的,我会打开一些关于如何以不同的方式在我的Dialog中获取超链接的建议!

这是我的第一个StackOverflow问题所以请不要杀了我:P;)

1 个答案:

答案 0 :(得分:2)

请参阅更新的代码和我的评论。有关Dialog和execDialog函数的更多详细信息,请参阅here

某些控件未记录如下:

•   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

有关此source

的详细信息,请参阅
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);