我一直在尝试实现这个 Stack Overflow 问题中提出的问题,这里:
尝试根据用户从中选择的多个值列表创建状态字段,但已请求我们检查日期字段的值以确保已设置估计日期,以便计算可以确定状态是否记录是“进行中”、“迟到”或“未开始”。
...现在,我需要某种实际的弹出警告消息来提示用户确保日期字段不为空。
我将如何添加此功能?
我一直在尝试实现这个 Stack Overflow 问题中提出的问题,这里:
尝试根据用户从中选择的多个值列表创建状态字段,但已请求我们检查日期字段的值以确保已设置估计日期,以便计算可以确定状态是否记录是“进行中”、“迟到”或“未开始”。
...现在,我需要某种实际的弹出警告消息来提示用户确保日期字段不为空。
我将如何添加此功能?
为了提供您正在寻找的功能,您必须使用“自定义对象”。它是您放置在 Archer 中的应用程序布局上的一个对象,其中包含 JavaScript 代码。加载应用程序的表单后,将立即执行此代码。Archer 的应用程序构建器中的每个应用程序的布局编辑器中都有一种特殊类型的字段“自定义对象”可用。
注意 - 我一般不建议使用自定义对象,也不建议使用 RSA 支持。每次修改给定应用程序中的布局时,您都需要重新测试,有时还需要更正自定义对象的 ID。您可以编写一个独立于 ID 的自定义对象并使用字段名称,但在这种情况下自定义对象将有更多代码。我更喜欢使自定义对象尽可能短。
您的自定义对象应执行以下操作:
这是您可以开始使用的代码模板:
<script type="text/javascript">
// ids are used to locate buttons
var buttons_ids = [
"master_btnSave", // "Save" button ID
"master_btnApply" // "Apply" button ID
];
// parameters are used in the "onclick" default handlers to call original handlers
var buttons_parameters = [
"master$btnSave", // "Save" parameter
"master$btnApply" // "Apply" parameter
];
document.getElementById(buttons_ids[0]).onclick = function(){ Validator_of_required_fields(buttons_parameters[0])};
document.getElementById(buttons_ids[1]).onclick = function(){ Validator_of_required_fields(buttons_parameters[1])};
// end of the script body
//==== Validator function attached to Save and Apply buttons
function Validator_of_required_fields(parameter){
// ids of the input fields to validate
var inputs_to_validate_ip_address = [ "master_DefaultContent_rts_XXX_YYY_t" ];
// jQuery selector is used here. Archer v5.x has jQuery library loaded by default
// you will need to modify this selector
var field_value = $('#'+inputs_to_validate_ip_address[0]+':first').val();
if(field_value.length = 0) {
// Here you are calling Archer Warning function
var msg = "[Text to display to user]";
var title = 'Required Field';
WarningAlert(msg,title);
return false;
};
// default onclick processor
ShowAnimationAndPostback(parameter);
return false;
};
对此代码的一些评论:
document.getElementById(buttons_ids[0]).onclick = function(){ bla, bla, bla }
WarningAlert(msg,title);
是一个内置的 Archer 警告消息函数。它在 Archer v5.4 中运行良好。如果 WarningAlert 在您的 Archer 版本中不起作用,您可能需要使用简单的 JavaScript 警报功能。Flak,一定要很好地测试你的自定义对象,祝你好运!