Hello everyone.
I`ve got a problem with getting saved settings for checkbox.
Saved settings doesn`t apply on checkbox value.
It`s strange, but it always "true".
So here piece of code:
checkMe = 11; //any value for the first time running
if (app.settings.haveSetting("savea", "chck")) {
checkMe = app.settings.getSetting("savea", "chck"); // get saved value, else 11
alert("checkMe = "+checkMe)
}
if(checkMe == 11){
checkMe= false; //if there is no saved settings, checkbox value will be false/ unchecked
alert("You run this script first time, so manual value will be 'false'")
}else{
checkMe = app.settings.getSetting("savea", "chck"); // if saved settings exist, get true or false
}
alert("Yes, checkMe will = "+checkMe)
win.checkPanel.chkOne.value = checkMe; /// checkbox value will equal saved checkMe
var fff = win.checkPanel.chkOne.value; // string for alert
alert("aha! but checkbox value is = " +fff+ "\n Why so?") // here we`ve got always "true"
win.checkPanel.chkOne.onClick = function () {
var path11 = win.checkPanel.chkOne.value; // checkbox value to variable
app.settings.saveSetting("savea", "chck", path11); //saving checkbox value
alert("Saved this value - " + app.settings.getSetting("savea", "chck"))
}
win.checkPanel.chkOne.value is always true.![]()
Can someone exmplain why and how to get rid of this static value?
P.S. just in case, here is full code:
function mainFun()
{
this.windowRef = null;
}
mainFun.prototype.run = function()
{
/*----- UI -----*/
var retval = true;
var win = new Window("palette", "Check option", [150, 150, 460, 455]);
this.windowRef = win;
win.checkPanel = win.add("panel", [25, 150, 285, 265], "Checkbox");
win.checkPanel.chkOne = win.checkPanel.add("checkbox", [10, 15, 125, 35], "Checkbox One");
//win.checkPanel.chkTxtOne = win.checkPanel.add('edittext', [140, 15, 230, 35], '');
win.quitBtn = win.add("button", [110,275,200,295], "Close");
checkMe = 11; //any value for the first time running
if (app.settings.haveSetting("savea", "chck")) {
checkMe = app.settings.getSetting("savea", "chck"); // get saved value, else 11
alert("checkMe = "+checkMe)
}
if(checkMe == 11){
checkMe= false; //if there is no saved settings, checkbox value will be false/ unchecked
alert("You run this script first time, so manual value will be 'false'")
}else{
checkMe = app.settings.getSetting("savea", "chck"); // if saved settings exist, get true or false
}
alert("Yes, checkMe will = "+checkMe)
win.checkPanel.chkOne.value = checkMe; /// checkbox value will equal saved checkMe
var fff = win.checkPanel.chkOne.value; // string for alert
alert("aha! but checkbox value is = " +fff+ "\n Why so?") // here we`ve got always "true"
win.checkPanel.chkOne.onClick = function () {
var path11 = win.checkPanel.chkOne.value; // checkbox value to variable
app.settings.saveSetting("savea", "chck", path11); //saving checkbox value
alert("Saved this value - " + app.settings.getSetting("savea", "chck"))
}
win.quitBtn.onClick = function() {
win.close();
}
win.center();
win.show();
return retval;
}
if(typeof(mainFun_unitTest) == "undefined") {
new mainFun().run();
}
Played around with different values, combinations...
Doesn`t work too:
checkMe = 111; //any value for the first time running
if (app.settings.haveSetting("333", "check")) {
checkMe = app.settings.getSetting("333", "check");
}
alert(checkMe);
if(checkMe == 111){
win.checkPanel.chkOne.value= false;
}else{
if (checkMe != false){
win.checkPanel.chkOne.value= true;
}else{
win.checkPanel.chkOne.value= false;
}
}
win.checkPanel.chkOne.onClick = function () {
var path11 = win.checkPanel.chkOne.value;
var path12 = path11.toString();
app.settings.saveSetting("333", "check", path12);
alert("Saved value - " + app.settings.getSetting("333", "check"))
}
North America
Europe, Middle East and Africa
Asia Pacific