我在弄清楚如何拨打选定的单选按钮时遇到了一些麻烦。有一些例子,但它们似乎不适用于我正在尝试做的事情。
我的脚本采用模板psd文件打开它,并根据用户选择更改一些文本图层。
我正在尝试使用switch()作为单选按钮,但我的按钮名称为变量x。当我运行脚本时,它给了我x未定义。我明白这意味着我需要在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();
答案 0 :(得分:1)
您刚刚在if (dlg.pnl_projScheme.rdo_snNone.value = true)
中输入了错字,应该是
if (dlg.pnl_projScheme.rdo_snNone.value == true)
和双'=='
答案 1 :(得分:0)
我想我认为它似乎有用。
switch(true) {
case dlg.pnl_projScheme.children[1].value:
app.activeDocument.layers.getByName("SCHEME").textItem.contents = (' ');
break;
case dlg.pnl_projScheme.children[2].value:
app.activeDocument.layers.getByName("SCHEME").textItem.contents = ('Scheme 1');
break;
case dlg.pnl_projScheme.children[3].value:
app.activeDocument.layers.getByName("SCHEME").textItem.contents = ('Scheme 2');
break;
case dlg.pnl_projScheme.children[4].value:
app.activeDocument.layers.getByName("SCHEME").textItem.contents = ('Scheme 3');
break;
default:
app.activeDocument.layers.getByName("SCHEME").textItem.contents = (' --- ');
}