ServiceNow自动填充脚本未被调用

时间:2018-03-18 20:05:04

标签: javascript servicenow

我在ServiceNow中有一个表,其中包含Store和与Store关联的相应层。

一旦选择了Store,我就会尝试自动填充唱片制作人。我的脚本没有运行。

该表是在作用域应用程序中创建的自定义表,对我来说是新的,所以不确定我在脚本编写中做错了什么。有什么建议吗?

    //Catalog Client Script (runs on [Store] Record Producer Change) 

    function onChange(control, oldValue, newValue, isLoading) {


       if (isLoading || newValue == '') {
        return;
    }

        // new GlideAjax object referencing store of AJAX script include
        var ga = new GlideAjax("HRProfileAjax");


         // add store parameter to define which function we want to call
        // method store in script include will be getFavorites
        ga.addParam("sysparm_store", "getHRProfile");
        ga.addParam("sysparm_tier", "getHRProfile"); 
        // submit request to server, call ajaxResponse function with server                         response

         ga.getXML(ajaxResponse);

        function ajaxResponse(serverResponse) {
            // get result element and attributes

      var result =      serverResponse.responseXML.getElementsByTagstore("result");
      var message = result[0].getAttribute("tier");

      //check for message attribute and alert user
      //if(message)
           //alert(message);

//build output to display on client for testing

// get favorite elements
var favorites = serverResponse.responseXML.getElementsByTagstore("favorite");
for(var i = 0; i < favorites.length; i++) {
    var store = favorites[i].getAttribute("store");
    g_form.setValue(store);
    var tier = favorites[i].getAttribute("tier");
    //output += store + " = " + tier + "\n";
    g_form.setValue(store,tier);
}

//g_form.setValue('number',output);

}

    //Script #2 HR PROFILE AJAX
    /*
    * HRProfileAjax script include Description - sample AJAX processor      returning multiple value pairs
     */
    var HRProfileAjax = Class.create();
    HRProfileAjax.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {

        /*
        * method available to client scripts call using:
        * var gajax = new GlideAjax("HRProfileAjax");
        * gajax.addParam("sysparm_store", "getFavorites");
        */
        getHRProfile : function() {
            // build new response xml element for result
            var result = this.newItem("result");

            var store = this.getParameter('store');
            var hrPro = new GlideRecord('x_hiring_gri_hr_storetier');
            hrPro.addQuery('store',store);
            hrPro.query();

            if(hrPro.next()){
                result.setAttribute("message", "returning all favorites");
                this._addFavorite("tier", hrPro.tier);  
            }
        },

        _addFavorite : function(store, value) {
            var favs = this.newItem("favorite");
            favs.setAttribute("store", store);
        },

        type : "HRProfileAjax"

    });

0 个答案:

没有答案