首页 文章

删除工作流在视图上添加的按钮

提问于
浏览
0

我想问一下,是否可以在记录的查看模式中隐藏工作流添加的按钮 . 工作流程已锁定,因此无法激活该操作 .

我正在尝试使用用户事件脚本beforeLoad在记录的查看模式上调用客户端脚本 . 代码如下:

带有form.setScript的用户事件脚本 .

//User Event Script
function callClientScript(type, form) {
    if (type == 'view') {
        form.setScript('customscript_client_script');
    }
}

id为:customscript_client_script的客户端:

//Client Script
function removeButton() {
    document.getElementById('HTML Id of button to hide').style.display = 'none';
}

不幸的是,这不起作用 . 我已经研究过,我发现的所有示例都使用一个按钮来绑定客户端脚本,以便在单击时运行 . 他们在用户事件脚本中添加了这行代码:

form.addButton('custpage_my_button', 'Button Test', 'removeButton()');

我测试了它,它工作正常 . 但是,我需要在页面加载后自动运行“removeButton()”函数 .

1 回答

  • 0

    要实现这一点,您需要使用一些DOM的黑客攻击 . 您需要使用在beforeLoad期间创建的inlineHTML正文字段注入javascript,并将您的客户端代码作为字符串设置为默认值并由 <script> 标记包围 .

    在Suitescript 2.0中有类似的东西:

    var injectScriptField = form.addField({
            id : 'custpage_injectscript',
            type : UIMODULE.FieldType.INLINEHTML,
            label : 'Inject Script Field'
        });
    injectScriptField.defaultValue = '<script>alert("Hello");</script>';
    

相关问题