javascript - Photoshop JavaScript;如何调用单选按钮

标签 javascript photoshop-script

我在弄清楚如何调用选定的单选按钮时遇到了一些麻烦。那里有一些例子,但它们似乎不适用于我想要做的事情。

我的脚本采用模板 psd 文件打开它并根据用户的选择更改一些文本图层。

我正在尝试使用 switch() 作为单选按钮,但我的按钮名称为变量 x。当我运行脚本时,它给出 x is undefined 。我知道这意味着我需要在 switch() 之前定义 x,但我不确定当变量需要是我的情况时如何执行此操作。

这是我尝试用于单选按钮的内容。

switch (x.value=true){
     case 'var x = dlg.pnl_projScheme.rdo_sn1':
        app.activeDocument.layers.getByName("SCHEME").textItem.contents = ('dlg.pnl_projScheme.rdo_sn1.text');
        break;
     case 'var x = dlg.pnl_projScheme.rdo_sn2':
        app.activeDocument.layers.getByName("SCHEME").textItem.contents = ('dlg.pnl_projScheme.rdo_sn2.text');
        break;
     case 'var x = dlg.pnl_projScheme.rdo_sn3':
        app.activeDocument.layers.getByName("SCHEME").textItem.contents = ('dlg.pnl_projScheme.rdo_sn3.text');
        break;
     case 'var x = dlg.pnl_projScheme.rdo_snNone':
        app.activeDocument.layers.getByName("SCHEME").textItem.contents = ('');
        break;
 }

这是我的对话框:

var dlg = new Window('dialog', 'PSD Creator', [100, 100, 500, 550] );  

dlg.pnl_browse = dlg.add('panel', [10, 10, 390, 150], 'Browse');
    dlg.pnl_browse.txt_staticPSD = dlg.pnl_browse.add('statictext' , [15, 10, 375, 30],'Select the project images folder:');
    dlg.pnl_browse.btn_browsePSD = dlg.pnl_browse.add ('button', [15, 35, 60, 60], '...');
    dlg.pnl_browse.txt_editPSD = dlg.pnl_browse.add('edittext' , [65, 35, 365, 55],'<Select the project images folder>');
    dlg.pnl_browse.txt_staticTIFF = dlg.pnl_browse.add('statictext' , [15, 70, 375, 90],'Select the folder where you TIFF images are:');
    dlg.pnl_browse.btn_browseTIFF = dlg.pnl_browse.add ('button', [15, 95, 60, 120], '...');
    dlg.pnl_browse.txt_editTIFF = dlg.pnl_browse.add('edittext' , [65, 95, 365, 120],'<Select the folder where you TIFF images are>');

dlg.pnl_projScheme = dlg.add('panel', [10,240,390,310], 'Details');
    dlg.pnl_projScheme.txt_sn = dlg.pnl_projScheme.add('statictext' , [15,10,375,30],'Scheme:');
                dlg.pnl_projScheme.rdo_snNone = dlg.pnl_projScheme.add('radiobutton' , [15,30,90,50],'None');                    
                dlg.pnl_projScheme.rdo_sn1 = dlg.pnl_projScheme.add('radiobutton' , [100,30,180,50],'Scheme 1');
                dlg.pnl_projScheme.rdo_sn2 = dlg.pnl_projScheme.add('radiobutton' , [190,30,270,50],'Scheme 2');
                dlg.pnl_projScheme.rdo_sn3 = dlg.pnl_projScheme.add('radiobutton' , [280,30,360,50],'Scheme 3');
                    dlg.pnl_projScheme.rdo_snNone.value = true;


 dlg.pnl_projOpt = dlg.add('panel', [10,320,390,390], 'Options');    
        dlg.pnl_projOpt.txt_sn = dlg.pnl_projOpt.add('statictext' , [15,10,375,30],'Option:');
            dlg.pnl_projOpt.rdo_onNone = dlg.pnl_projOpt.add('radiobutton' , [15,30,90,50],'None:');               
            dlg.pnl_projOpt.rdo_on1 = dlg.pnl_projOpt.add('radiobutton' , [100,30,180,50],'Option 1:');
            dlg.pnl_projOpt.rdo_on2 = dlg.pnl_projOpt.add('radiobutton' , [190,30,270,50],'Option 2:');
            dlg.pnl_projOpt.rdo_on3 = dlg.pnl_projOpt.add('radiobutton' , [280,30,360,50],'Option 3:');
                dlg.pnl_projOpt.rdo_onNone.value = true;

dlg.btn_ok = dlg.add ('button', [70,400,190,430], 'ok');
dlg.btn_cancel = dlg.add ('button', [210,400,320,430], 'cancel');

////////////////////////////
dlg.pnl_browse.btn_browsePSD.onClick = function ()  {   
    selectFilePSD = File.openDialog("Please select your template file.","*.psd");   
        if(selectFilePSD != null) dlg.pnl_browse.txt_editPSD.text =  decodeURI(selectFilePSD.fsName); 
}

dlg.pnl_browse.btn_browseTIFF.onClick = function ()  {   
    selectFileTIFF = File.openDialog("Please select your tiff images.","*.TIF; *TFF", true);  
        if(selectFileTIFF != null) dlg.pnl_browse.txt_editTIFF.text =  decodeURI(selectFileTIFF.fsName); 
}


dlg.btn_ok.onClick = function () {
    selectFolderPSDs = Folder.selectDialog("Where do you want to save your PSDs?");  
        if(selectFolderPSDs != null) imageLocation =  decodeURI(selectFolderPSDs.fsName);
        dlg.close()
        open (selectFilePSD);

        if (dlg.pnl_projScheme.rdo_snNone.value = true) {
            var r = "";
            alert("");
        }
        if (dlg.pnl_projScheme.rdo_sn1.value = true) {
            var r = dlg.pnl_projScheme.rdo_sn1.text;
            alert(dlg.pnl_projScheme.rdo_sn1.text);
        }
        if(dlg.pnl_projScheme.rdo_sn2.value = true) {
            var r = dlg.pnl_projScheme.rdo_sn2.text;
            alert(dlg.pnl_projScheme.rdo_sn2.text);
        }
        if (dlg.pnl_projScheme.rdo_sn3.value = true) {
            var r = dlg.pnl_projScheme.rdo_sn3.text;
            alert(dlg.pnl_projScheme.rdo_sn3.text);
        }
}
///////////////////////////
dlg.center(); 

dlg.show();

最佳答案

您刚刚在 if (dlg.pnl_projScheme.rdo_snNone.value = true) 中出现了拼写错误,应该是 if (dlg.pnl_projScheme.rdo_snNone.value == true) 与双 '=='

关于javascript - Photoshop JavaScript;如何调用单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46472270/

相关文章:

javascript - 使用样本名称删除 Photoshop 中的颜色样本

javascript - 尝试通过单击表格标题对表格列进行排序

javascript - 如何使 JSP 中的单选按钮可选择单元格或行?

javascript - 在 bootstrap popover rails 5 应用程序中渲染部分?

javascript - Crypto Js 和 Rails 中的 AES 加密给出了不同的结果

javascript - 无法让简单的 onclick 脚本工作。可能会搞乱变量

photoshop - Photoshop 图层的组合和排列?

javascript - Photoshop 脚本获取控制位置

javascript - Photoshop 脚本 : exportDocument

image-processing - 在文件夹 Photoshop 脚本中合并文件(并排)