A simple way to show a ServiceNow Modal for editing
Can be used to create e.g. related record
Create a UI action and enter at least following:
(Insert/Update=checked,client=checked,Onclick=openModalForm(),form button=checked)
//Show modal with a view (form) for xxx table
function openModalForm() {
var modalForm = new GlideModalForm('Title' /*Name the modal Title*/ , 'task' /*Table for the new record*/ );
modalForm.setOnloadCallback(formOnLoadCallback);
modalForm.setCompletionCallback(formAfterSubmitCallback);
modalForm.render();
}
function formOnLoadCallback() {
//Access GlideModal g_form to set field for the new record
var d_form = window.frames["dialog_frame"].g_form;
d_form.setValue('field', g_form.getValue('field'));
d_form.setValue('field', g_form.getValue('field'));
}
function formAfterSubmitCallback(action_verb, sys_id, table, displayValue) {
//Get the newly created record sys_id and then set e.g a value to the starting record
g_form.setValue('field', sys_id);
//Save the record
g_form.save();
}
Tested in Jakarta with patch 7
Leave a Reply
Want to join the discussion?Feel free to contribute!