- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-14-2017 02:46 AM
I have created a UI action Locked. I want when user click on it , it should be grayed out . Screenshot attached (UI Action encircled in red) :-
Thanks,
Saurabh
Solved! Go to Solution.
- Labels:
-
Personal Developer Instance
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-15-2017 02:44 AM
Hi Sourav,
Here you go. The below procedure works for me
1. Create a custom checkbox on your form(for me its flag)
2. Write the below code on the locked out UI action
function hello()
{
document.getElementById("159c99bb4f303200b5d50ab18110c747").disabled = true;
var ga = new GlideAjax("hello");
ga.addParam("sysparm_name","hello2");
ga.addParam("sysparm_parent",g_form.getValue('number'));
ga.getXML(test2);
function test2(response){
var answer = response.responseXML.documentElement.getAttribute("answer");
}
}
3. And the script include
var hello = Class.create();
hello.prototype = Object.extendsObject(AbstractAjaxProcessor, {
hello2: function() {
var groupID=this.getParameter('sysparm_parent');
gs.log('testing1'+groupID);
var gr=new GlideRecord("incident");
gr.addQuery('number',groupID);
gr.query();
if(gr.next())
{
gr.u_flag='true';
gr.update();
}
},
type: 'hello'
});
4. To control the reloading issue, write the below onload client script
function onLoad() {
//Type appropriate comment here, and begin script below
if(g_form.getValue('u_flag')=='true')
{
document.getElementById("159c99bb4f303200b5d50ab18110c747").disabled = true;
}
}
Please note: I haven't used the try/catch statements, but you need to use it in your code while playing with DOM.
Also you need to hide the flag button from the form through UI policy or ACL(dont remove it from form layout or else it will not work).
Please hit LIKE or mark HELPFUL if found appropriate
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-14-2017 07:24 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-14-2017 07:34 AM
Try with
document.getElementById("locked_out").disabled = true;
Please hit LIKE or mark HELPFUL if found appropriate
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-14-2017 07:40 AM
Hi
Yes It worked for a while. When I click on it it grayed out. But when I am reloading the form it comes in editable mode again.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-14-2017 07:59 AM
Yes, this is due to the fact that you have written it on click of the button.
Once the form is reloaded it will get back to the same state.
To control this, you can create a custom check box and make it checked once you clicked the button for the first time.
Also, in the condition you need to mention the same(current.custombox==0)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-14-2017 08:26 AM
To control this, you can create a custom check box and make it checked once you clicked the button for the first time.
In the above statement I didn't get meaning of create a custom check box . Do i need to create seperate check box ? or correct me if I am wrong.