我有这个代码(Userevent脚本),它可以正常使用我的自定义按钮
function beforeLoad_addButton(type, form) {
var url = nlapiResolveURL('SUITELET', '543', 'customdeploy1')+'&entity=' + nlapiGetRecordId() + '&recordType=' + nlapiGetRecordType();
var script = "win = window.open('" + url + "', 'win', 'resizable=0,scrollbars=0,width=450,height=300');";
form.addButton('custpage_buttonalert', 'Add Memo', script);
}
但现在我想从使用Workflow创建的另一个按钮打开此弹出窗口(Suitelet)。如何在不中断工作流的情况下,在使用工作流创建的按钮上挂钩onclick操作。
答案 0 :(得分:0)
我设法做到了这样:
function beforeLoad_addButton(type, form) {
var url = nlapiResolveURL('SUITELET', '424', 'customdeploy1')+'&entity=' + nlapiGetRecordId() + '&recordType=' + nlapiGetRecordType();
var script = "win = window.open('" + url + "', 'win', 'resizable=0,scrollbars=0,width=450,height=300');";
form.addButton('custpage_buttonalert', 'Add Memo', script);
var ids = ['custpageworkflow105', 'custpageworkflow128', 'custpageworkflow148', 'custpageworkflow106', 'custpageworkflow129', 'custpageworkflow149', 'custpageworkflow107', 'custpageworkflow130', 'custpageworkflow150'];
var script1 = '';
script1 += '<script>';
ids.forEach(function(entry) {
script1 += 'jQuery("#' + entry + '").click(function() {'+ script +'});';
});
script1 += '</script>'
var newInlineHtmlField = form.addField('custpage_myinline','inlinehtml','',null,null);
newInlineHtmlField.setDefaultValue(script1);
}
我在表单中注入了Javascript。在这里,&#34; ids&#34;数组包含工作流程按钮ID。单击其中一个按钮时,将执行script1变量中的代码,然后执行工作流程。