问题
please help me with my script
i want to check the checkbox if {{!COL22}} NOT NULL
and uncheck the checkbox if {{!COL22}} is NULL
but this script not work in this statement with formating condition
if (\"{{!COL22}}\" = "") {
var uncheck = "CODE:";
uncheck += "FRAME NAME=\"rf\"" + "\n";
uncheck += "TAG POS=1 TYPE=LABEL ATTR=ONCLICK:publishVipJS.toggleSaleAttr(this,'text');&&FOR:testsale2260958&&DATA:9248:2260958&&TXT:" + "\n";
uncheck += "TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:testsale2260958 CONTENT=NO" + "\n";
iimset(uncheck);
iimPlay(uncheck);
var notif = alert("NULL");
}else{
var check = "CODE:";
check += "FRAME NAME=\"rf\"" + "\n";
check += "TAG POS=1 TYPE=LABEL ATTR=ONCLICK:publishVipJS.toggleSaleAttr(this,'text');&&FOR:testsale2260958&&DATA:9248:2260958&&TXT:" + "\n";
check += "TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:testsale2260958 CONTENT=YES" + "\n";
iimset(check);
iimPlay(check);
var notif = alert("SUCCSES");
}
for full script this below
var isi = "CODE:";
isi += "VERSION BUILD=8970419 RECORDER=FX" + "\n";
isi += "TAB T=1" + "\n";
isi += "SET !REPLAYSPEED FAST" + "\n";
isi += "SET !ERRORIGNORE YES" + "\n";
isi += "SET !TIMEOUT_PAGE 20" + "\n";
isi += "SET !TIMEOUT_STEP 0" + "\n";
isi += "SET !DATASOURCE_LINE {{!LOOP}}" + "\n";
isi += "SET !DATASOURCE Shoes<SP>05-04-2018.csv" + "\n";
isi += "SET !LOOP 4" + "\n";
isi += "FRAME NAME=\"mainFrame\"" + "\n";
isi += "EVENT TYPE=CLICK SELECTOR=\"#mainContent>DIV:nth-of-type(29)>DIV>DIV>INPUT:nth-of-type(2)\" BUTTON=0" + "\n";
isi += "TAG POS=1 TYPE=INPUT:TEXT ATTR=TYPE:text&&ONCHANGE:publishVipJS.changeAlias(this,<SP>'text');&&VALUE:* CONTENT=" + "\n";
isi += "FRAME NAME=\"rf\"" + "\n";
isi += "TAG POS=101 TYPE=INPUT:TEXT ATTR=* CONTENT={{!COL22}}" + "\n";
isi += "FRAME F=0" + "\n";
isi += "TAG POS=1 TYPE=A ATTR=CLASS:btn" + "\n";
iimPlay(isi);
if (\"{{!COL22}}\" = "") {
var uncheck = "CODE:";
uncheck += "FRAME NAME=\"rf\"" + "\n";
uncheck += "TAG POS=1 TYPE=LABEL ATTR=ONCLICK:publishVipJS.toggleSaleAttr(this,'text');&&FOR:testsale2260958&&DATA:9248:2260958&&TXT:" + "\n";
uncheck += "TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:testsale2260958 CONTENT=NO" + "\n";
iimset(uncheck);
iimPlay(uncheck);
var notif = alert("NULL");
}else{
var check = "CODE:";
check += "FRAME NAME=\"rf\"" + "\n";
check += "TAG POS=1 TYPE=LABEL ATTR=ONCLICK:publishVipJS.toggleSaleAttr(this,'text');&&FOR:testsale2260958&&DATA:9248:2260958&&TXT:" + "\n";
check += "TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:testsale2260958 CONTENT=YES" + "\n";
iimset(check);
iimPlay(check);
var notif = alert("SUCCSES");
}
回答1:
It's impossible to get the !COL22
value directly inside a js-script. You should extract it before with an iim-code. For example by using an additional macro:
...
iimPlay(isi);
iimPlayCode (
'SET !DATASOURCE Shoes<SP>05-04-2018.csv' + "\n" +
'SET !EXTRACT {{!COL22}}' + "\n"
);
if (iimGetExtract() = "") {
...
来源:https://stackoverflow.com/questions/49953779/if-else-imacros-with-javascript-command