How to pass sysId from ui action to UI page and how to receive it in UI Page?

santhoshkumar4
Kilo Expert

In the below step UI Action captures the ritm sys_id properly, but HTML of ui page is not receiving it and passing it to client script of UI page

UI Action

Table : sc_req_item
Client : true
OnClick : openTaskDuplicationDialog()
 
Script : 

function openTaskDuplicationDialog() {
    var ritm_sys_id = ""+g_form.getUniqueValue();

    alert("step 1 : " + ritm_sys_id);

    var gdw = new GlideDialogWindow("ui_page_duplicate_sc_tasks");
    gdw.setTitle("Duplicate SC Tasks");
    gdw.setSize(300, 200);
    gdw.removeCloseDecoration();
    gdw.setPreference("ritm_id", ritm_sys_id+'');
    gdw.render();
}

if (typeof window == 'undefined') {
    action.setRedirectURL(current);
    action.setReturnURL(current);
}

Ui Page HTML

<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">

    <g:evaluate>
        var ritmSysId = RP.getWindowProperties().ritm_id;
    </g:evaluate>

    <input type="hidden" id="ritm_id" name="ritm_id" value="${ritmSysId}" />

    <table border="0">
        <tr>
            <td>Enter number of SC Task duplicates:</td>
            <td><input type="number" id="num_duplicates" name="num_duplicates" /></td>
        </tr>
    </table>

    <div style="margin-top: 20px;">
        <g:dialog_buttons_ok_cancel ok_text="Duplicate" ok="return submitTaskDuplication();" cancel="onCancel();" />
    </div>

</j:jelly>

Ui Page Client Script

function submitTaskDuplication() {
    var ritm_id = gel("ritm_id").value;
    var count = gel("num_duplicates").value;

    alert("step 2 : ritm - " + ritm_id + " - count - " + count);

    if (!count || isNaN(count) || count <= 0) {
        alert("Please enter a valid number.");
        return false;
    }

    var ga = new GlideAjax('AjaxClientHelper');
    ga.addParam('sysparm_name', 'duplicateTasks');
    ga.addParam('sysparm_ritm_id', ritm_id);
    ga.addParam('sysparm_count', count);
    ga.getXMLAnswer(function(response) {
        alert('Duplication complete: ' + response);
    });

    GlideDialogWindow.get().destroy();
    return true;
}

function onCancel() {
    GlideDialogWindow.get().destroy();
    return false;
}







1 ACCEPTED SOLUTION

santhoshkumar4
Kilo Expert
--------------------------This Worked-----------------------------------------------------------------------------------

<
g:evaluate>
        var ritmSysId = RP.getWindowProperties().get('ritm_id');
    </g:evaluate>

View solution in original post

1 REPLY 1

santhoshkumar4
Kilo Expert
--------------------------This Worked-----------------------------------------------------------------------------------

<
g:evaluate>
        var ritmSysId = RP.getWindowProperties().get('ritm_id');
    </g:evaluate>