How to use UI Page in OnSubmit client script
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-16-2023 04:33 AM - edited 01-16-2023 08:43 AM
Hi All,
Please help me on below issue
How to validate UI Page value in Onsubmit
OnSubmit:
function onSubmit() {
if (g_form.getActionName() == "resolve_incident") {
var gm = new GlideModal('confirm_changes');
gm.setTitle('Confirm');
gm.setWidth(400);
gm.render();
if(user clicked on 'Do Change' button )
{
g_form.setReadonly('field 1',false);
g_form.setReadonly('field 2',false);
g_form.addErrorMessage("Change values on fields");
return false;
}
if(user clicked on 'Confirmed' button)
{
validateDates();
return true;
}
function checkManagers()
{
if(........)
{
return false;
}else{
return true;
}
}return true;
}
}
}
HTMl :
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<p>Are you sure about your changes ?</p>
<br/>
<div style="float: right">
<g:dialog_buttons_ok_cancel ok="return sendvalue()" ok_type="button" ok_text="Confirmed" ok_style_class="btn btn-primary" cancel="return destroyWindow()" cancel_type="button" cancel_text="Do Change" cancel_style_class="btn btn-default" />
</div>
</j:jelly>
Client script :
function sendvalue {
destroyWindow();
return true;
}
function destroyWindow() {
GlideDialogWindow.get().destroy();
return false;
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-16-2023 06:28 AM
Hello @Supriya25 ,
Please find the below link. Let me know if this hekps you.
https://www.servicenow.com/community/developer-forum/ui-page-from-onsubmit-client-script/m-p/1540694
Thanks,
Omkar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-16-2023 06:51 AM
Hello @Supriya25 ,
Please find the below code modification in ui page.
You can use
g_form.setReadOnly(field1,true);
g_form.setReadOnly(field2,true);
g_form.save
in UI page itself it is working for me you can try and let me know.
Thanks,
Omkar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-16-2023 09:37 AM
Hello @Supriya25 ,
Please find the client script. Please uncheck the isolate script checkbox.
function onSubmit() {
//Type appropriate comment here, and begin script below
if (g_form.getActionName() == "resolve_incident") {
//function confirmDialog(){
var gm = new GlideModal('confirm');
//Sets the dialog title
gm.setTitle('Confirmation');
//Set up valid custom HTML to be displayed
gm.renderWithContent('\
<div style="padding:15px"><p>Confirm?</p>\
<div style="padding:5px;float:right">\
<button style="padding:5px;margin-right:10px" \
onclick="window.takeAction(this.innerHTML)" \
class="btn btn-default">Do Change</button>\
<button style="padding:5px" \
onclick="window.takeAction(this.innerHTML)" \
class="btn btn-primary">Confirmed</button>\
</div> \
</div>');
//We'll use the windows object to ensure our code is accessible from the modal dialog
window.takeAction = function(thisButton){
//Close the glide modal dialog window when either button is pressed.
gm.destroy();
//perform the appropriate action on the client.
if(thisButton=='Confirmed'){
g_form.addInfoMessage('Incident is resolved successfully'); // modify this 29 and 30 line accodin to your requirement
g_form.save();
} else if(thisButton=='Do Change') {
g_form.addErrorMessage('Please carry out changes');
gm.destroy();
}
};
return false;//prevents the form from submitting when the dialog first loads
}
}
Thanks,
Omkar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-16-2023 09:39 AM
@Supriya25 no need to create a UI page