gpt4 book ai didi

angularjs - ServiceNow angularjs : how to pass server script values to client script

转载 作者:行者123 更新时间:2023-12-03 18:44:43 26 4
gpt4 key购买 nike

我在 ServiceNow 工作,正在创建一个小部件,该小部件拉出一个嵌入了表单的模式窗口。我想预先填充模态表单中的一些字段,但我不确定如何做到这一点。

这是我打开模态窗口的按钮的 HTML:

<div>
<input class="btn btn-support" ng-click="c.onbSupport()" type="button" value="Ask a Question">
</div>

我的客户端脚本如下所示:
function($scope,spModal) {
/* widget controller */
var c = this;

c.onbSupport = function(){
spModal.open({
title: 'Submit Your Question',
widget: 'form-new',
widgetInput: {table: 'support_tickets'},
buttons: []
}).then(function(){
})
}
}

最后,这是我的服务器脚本:
    var usr = gs.getUserID();
var gr = new GlideRecord('info');
gr.addQuery('opened_for', usr);
gr.query();
if(gr.next()) {
data.parent = gr.getValue('number');
data.short_description = gr.getValue('short_description');
}

在模态表单中,我有两个字段(parent_case 和 category),我想分别用 data.parent 和 data.short_description 预先填充它们。要将服务器脚本值传递到 HTML,我知道您可以执行 {{data.parent}}。但是,如何将这些值放入生成模态表单的客户端脚本中?

最佳答案

您需要将值传递给客户端脚本并“捕获”。

我假设您正在尝试传递多个值,因此您需要一个数组来保留值并传递给客户端脚本端。

服务器脚本:

var records=[]; //define array first
var usr = gs.getUserID();
var gr = new GlideRecord('info');
gr.addQuery('opened_for', usr);
gr.query();
if(gr.next()) {
var rec={} //define a record
rec.parent = gr.getValue('number');
rec.short_description = gr.getValue('short_description');
records.push(rec); //populate array with records
}
data.records=records; // you need to assign your array as data

客户端脚本:
function($scope,spModal) {
/* widget controller */
var c = this;
var infos=c.data.records;//this is the "catch" part
}

注意:我还没有测试过这段代码。

关于angularjs - ServiceNow angularjs : how to pass server script values to client script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43284724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com