2017-09-28 6 views
1

Ich habe ein bisschen Mühe herauszufinden, wie man einen ausgewählten Radiobutton anruft. Es gibt Beispiele, aber sie scheinen nicht mit dem zu funktionieren, was ich versuche.Photoshop Javascript; Wie rufe ich Radiobuttons an?

Mein Skript nimmt eine Vorlage psd-Datei öffnet es und ändert einige der Textebenen basierend auf der Benutzerauswahl.

Ich versuche, switch() für die Optionsfelder zu verwenden, aber ich habe meinen Namen als Variable x. Wenn ich das Skript ausführe, gibt es mir x ist undefiniert. Ich verstehe, dass dies bedeutet, dass ich x vor meinem switch() definieren müsste, aber ich bin nicht sicher, wie dies zu tun ist, wenn die Variable mein Fall sein muss.

Hier ist das, was ich versuche, für den Radio-Button zu verwenden.

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; 
} 

Hier ist meine Dialogfeld:

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(); 

Antwort

0

Ich glaube, ich es herausgefunden, scheint zu funktionieren.

  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 = (' --- '); 
     } 
Verwandte Themen