我正在处理一个带有两个表单按钮的更改单表单,即“提交”和“请求批准”。提交是一种在表格中插入记录的方式。但是,当用户按下“请求批准”时,票证才会向前移动。
我想仅在用户点击“请求批准”时强加某些限制。通过限制,我的意思是提示用户填写计划开始日期,结束日期。但是,当用户点击“提交”时,不会显示此类消息。
这样做的一种方法是通过UI动作为可见性设置条件。但我希望按钮始终可见。请帮忙
答案 0 :(得分:2)
您可以将请求批准UI操作设置为在客户端上运行(客户端复选框),将Onclick字段设置为requestApproval();然后使用以下代码作为脚本正文的指南。这允许您的UI操作分两个阶段运行。在验证逻辑成功的客户端上,您可以在其中编写验证逻辑,并在服务器上(由gsftSubmit触发)。
默认情况下,系统中有一些使用此类代码的UI操作。搜索UI操作,其中"脚本包含gsftSubmit"看其他例子。
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
}