How to clear the values when user clicks on save as draft button in servicenow portal
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-13-2022 09:51 PM
Hi,
We have an portal widget, and when user fills out the form in portal and they intended to click on Save as Draft button then what ever the values they have enetered on the form must be cleared off after they click on Save as Draft button. How can i acheive it?
PLease help me on this request.
(function() {
var localInput = input;
var embeddedWidgetOptions = ['auto_redirect', 'requested_for_id', 'requested_for_display'];
if(localInput.draft){
createDraft($sp.getParameter("sys_id"));
}
if(localInput.checkDraft == 'true'){
deleteDraft(gs.action.getGlideURI().getMap().get('sysparam_draft'));
data.draft = '';
}
if (localInput && localInput.action == "from_attachment")
return;
else if (localInput && localInput.action === "order_item") {
embeddedWidgetOptions.forEach(function (embeddedWidgetOption) {
if (typeof localInput[embeddedWidgetOption] != 'undefined')
options[embeddedWidgetOption] = localInput[embeddedWidgetOption];
});
data.orderItemModal = $sp.getWidget('widget-modal', {
embeddedWidgetId: 'sc-checkout',
embeddedWidgetOptions: {
cart: {name: localInput.cart},
action: 'order_now',
item: localInput.itemDetails,
requested_for: {id:options.requested_for_id, displayValue:options.requested_for_display},
auto_redirect: options.auto_redirect,
parentParams: localInput.workspaceParams,
native_mobile: options.native_mobile
},
backdrop: 'static',
keyboard: false,
size: 'md'
});
return;
} else if (localInput && localInput.action == "order_wishlist_item") {
embeddedWidgetOptions.forEach(function (embeddedWidgetOption) {
if (typeof localInput[embeddedWidgetOption] != 'undefined')
options[embeddedWidgetOption] = localInput[embeddedWidgetOption];
});
data.orderItemModal = $sp.getWidget('widget-modal', {
embeddedWidgetId: 'sc-checkout',
embeddedWidgetOptions: {
cart: {name: localInput.cart},
action: 'order_now_wishlisted_item',
item: localInput.itemDetails,
requested_for: {id:options.requested_for_id, displayValue:options.requested_for_display},
auto_redirect: options.auto_redirect,
parentParams: localInput.workspaceParams,
native_mobile: options.native_mobile
},
backdrop: 'static',
keyboard: false,
size: 'md'
});
return;
} else if (localInput && localInput.action === 'log_request') {
$sp.logStat('Cat Item Request', localInput.itemDetails.sys_class_name, localInput.itemDetails.sys_id, localInput.itemDetails.name, $sp.getPortalRecord().getUniqueValue());
return;
}
var catalogID = $sp.getParameter("catalog_id") ? $sp.getParameter("catalog_id") + "" : "-1";
data.sc_catalog_page = $sp.getDisplayValue("sc_catalog_page") || "sc_home";
data.sc_category_page = $sp.getDisplayValue("sc_category_page") || "sc_category";
var edit_parm = $sp.getParameter('edit');
data.is_cart_item = edit_parm == 'cart';
var clGenerator = new GlideChoiceList();
var choiceListQuantity = clGenerator.getChoiceList("sc_cart_item", "quantity");
var choicelistQuantityData = [];
for (var i = 0; i < choiceListQuantity.size(); i++) {
var choice = choiceListQuantity.get(i);
if (!isNaN(choice.getValue()))
choicelistQuantityData.push({value : parseInt(choice.getValue()), label : choice.getLabel()});
}
data.choiceListQuantity = choicelistQuantityData;
data.quantity = choicelistQuantityData[0].value;
if (options.table) {
var tableGR = new GlideRecord("sys_db_object");
options.table = (tableGR.get(options.table)) ? tableGR.getValue("name") : null;
}
options.url = options.url || "id={page}&is_new_order=true&table={table}&sys_id={sys_id}";
data.showPrices = $sp.showCatalogPrices();
var m = data.msgs = {};
m.draftMsg = gs.getMessage("Save as Draft");
m.submitMsg = gs.getMessage("Submit");
m.requestMsg = gs.getMessage("Request");
m.dialogOK = gs.getMessage("OK");
m.renameSuccessMsg = gs.getMessage("Attachment added as successfully");
m.deleteSuccessMsg = gs.getMessage("Attachment as deleted successfully");
m.wishlistMsg = gs.getMessage('Wish List');
m.cartMsg = gs.getMessage('Cart');
m.wishlistUpdateMsg = gs.getMessage('Your Wish List has been updated.');
m.wishlistAddMsg = gs.getMessage('Your item has been added to your Wish List.');
m.cartAddMsg = gs.getMessage('Your item has been added to your Cart. To make changes to the items in your cart, click ');
m.viewWishListMsg = gs.getMessage('View List');
m.requestSubmitted = gs.getMessage("Thank you, your request has been submitted successfully.");
data.maxAttachmentSize = parseInt(gs.getProperty("com.glide.attachment.max_size", 1024));
if (isNaN(data.maxAttachmentSize))
data.maxAttachmentSize = 24;
m.largeAttachmentMsg = gs.getMessage("Attached files must be smaller than {0} - please try again", "" + data.maxAttachmentSize + "MB");
m.notForMobileMsg = gs.getMessage('Not viewable in mobile');
var cartName = data.is_cart_item ? 'DEFAULT' : 'saved_items';
var cart = new sn_sc.CartJS(cartName);
if (edit_parm) {
var cart_item_id = $sp.getParameter("sys_id");
var gr = new GlideRecord("sc_cart_item");
if (!gr.get(cart_item_id) || gr.cart != cart.getCartID() ||
(!new sn_sc.CatItem(gr.getValue('cat_item')).canView())) {
data.recordFound = false;
return;
}
data.showWishlist = data.is_wishlist_item;
var catItemData = {};
catItemData.sys_id = gr.getValue('cat_item');
catItemData.cart_item_id = gr.getUniqueValue();
if (!data.hideDeliveryTime)
data.hideDeliveryTime = (options.hide_delivery_time == "true" || data.sc_cat_item.sys_class_name == 'sc_cat_item_producer' || data.sc_cat_item.sys_class_name == 'sc_cat_item_guide' || data.sc_cat_item.sys_class_name == 'std_change_record_producer');
var values = getValues(cart_item_id);
for(var f in data.sc_cat_item._fields) {
var field = data.sc_cat_item._fields[f];
if (typeof values[f] != "undefined" && typeof values[f].value != "undefined") {
if (values[f].type == 9 || values[f].type == 10)
field.value = values[f].displayValue;
else if (values[f].type == 25)
field.value = values[f].decrypted_value;
else
field.value = values[f].value;
field.displayValue = values[f].displayValue;
field.display_value_list = values[f].display_value_list;
}
updatePriceOnField(field);
}
data._generatedItemGUID = cart_item_id;
data.quantity = '' + gr.quantity;
} else {
if (localInput)
data.sys_id = localInput.sys_id;
else if (options.sys_id)
data.sys_id = options.sys_id;
else
data.sys_id = $sp.getParameter("sys_id") || $sp.getParameter('sl_sys_id');
if (!data.sys_id) {
data.recordFound = false;
return;
}
data._generatedItemGUID = gs.generateGUID();
var validatedItem = new sn_sc.CatItem('' + data.sys_id);
if (!validatedItem.canView() || !validatedItem.isVisibleServicePortal()) {
data.recordFound = false;
return;
}
data.sc_cat_item = $sp.getCatalogItem({
sys_id: data.sys_id + '',
is_ordering: true
});
if (options.native_mobile == 'true') {
if (data.sc_cat_item.sys_class_name == 'std_change_record_producer' ||
data.sc_cat_item.sys_class_name == 'sc_cat_item_content' ||
data.sc_cat_item.sys_class_name == 'sc_cat_item_producer_service') {
data.not_for_mobile = true;
data.sc_cat_item = {};
return;
}
}
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-14-2022 01:48 AM
Hi,
Add onClick() function in 'save as draft' button something like below
onclick="ClearFields();"
and below Script in client script
function ClearFields() {
document.getElementById("textfield1").value = "";
document.getElementById("textfield2").value = "";
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-14-2022 05:00 AM
Hi Mahesh,
Where can i add this condition?
Could you please help me on this?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-14-2022 10:27 AM
Hi,
Add below onClick() function to 'save as draft' button.
onclick="ClearFields();"
and below Script in client script
function ClearFields() {
document.getElementById("textfield1").value = "";
document.getElementById("textfield2").value = "";
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-17-2022 08:12 PM
Hi Mahesh,
I have added the above click function and tried to write that inside client contorller as well.
But it is not working as expected.
Could you please tell me whether i need to change/update anything.
</span>
<button ng-if="::c.showOrderNowButton()" tabindex="0" name="submit" ng-disabled="submitting || submitted" ng-click="submitDraft()" ng-click="ClearFields()" class="btn btn-primary"></button>
Client controller
function ClearFields() {
document.getElementById("u_name").value = "";
document.getElementById("u_employee_name").value = "";
}