if else imacros with javascript command

我的未来我决定 提交于 2019-12-13 10:05:16

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!