我正在使用带有“提交”和“请求批准”两个表单按钮的变更单表单。提交是在表中插入记录的一种方式。但是,只有当用户按下“请求批准”时,工单才会向前移动。
我只想在用户单击“请求批准”时施加某些限制。通过限制,我的意思是提示用户填写计划的开始日期、结束日期。但是,当用户单击提交时,不应出现此类消息。
一种方法是通过 UI 操作设置可见性条件。但我希望按钮始终可见。请帮忙
我正在使用带有“提交”和“请求批准”两个表单按钮的变更单表单。提交是在表中插入记录的一种方式。但是,只有当用户按下“请求批准”时,工单才会向前移动。
我只想在用户单击“请求批准”时施加某些限制。通过限制,我的意思是提示用户填写计划的开始日期、结束日期。但是,当用户单击提交时,不应出现此类消息。
一种方法是通过 UI 操作设置可见性条件。但我希望按钮始终可见。请帮忙
您可以将 Request Approval UI Action 设置为在客户端上运行(Client 复选框),将 Onclick 字段设置为 requestApproval();然后使用以下代码作为脚本主体的指南。这允许您的 UI 操作分两个阶段运行。在客户端上,您可以在其中编写验证逻辑,并在验证逻辑成功时在服务器上(由 gsftSubmit 触发)。
默认情况下,系统中有一些 UI 操作使用这种代码。搜索“脚本包含 gsftSubmit”的 UI 操作以查看其他示例。
function requestApproval(){
// Do your client side validation here
if (g_form.getValue('comments') == '') {
return false; //Abort submission if your validation fails
}
//Call the UI Action and skip the 'onclick' function
gsftSubmit(null, g_form.getFormElement(), 'request_approval');
// MUST call the 'Action name' set in this UI Action.
// Make sure this name doesn't conflict with an existing
// UI Action if this is a custom action.
}
//Code that runs without 'onclick'
//Ensure call to server-side function with no browser errors
if (typeof window == 'undefined')
serverResolve();
function serverResolve(){
change_request.state = 1;
// other server side actions you wish to take
}