How to create a link in popup using client script in Service Portal

Hiranmayee Moha
Tera Expert

Hi @ Ankur Bawaskar!

If the user selects 'Yes' from choice list of a catalog item, a popup will show with a link that says, Please raise a request to "XYZ Software".

 

The code is attached below:

function onChange(control, oldValue, newValue, isLoading) {
   if (isLoading || newValue == '') {
      return;
   }
 
   var yes = g_form.getValue('variable');
 
 if (yes) {
    var Url = 'link';
 
g_form.addInfoMessage("Please raise a request to 'xyz Software' in the catalog: <a href='" + Url + "'</a>");
 
    }
}
 
TIA
Hiranmayee Mohanta

 

4 ACCEPTED SOLUTIONS

Ankur Bawiskar
Tera Patron
Tera Patron

@Hiranmayee Moha 

something like this will show link in portal

Ensure you give correct URL

function onChange(control, oldValue, newValue, isLoading) {
    if (isLoading || newValue == '') {
        return;
    }
    var yes = g_form.getValue('variableName'); // give the variable name here
    if (yes == 'yes') { // give the value you want to compare
        var urlString = '<p><a class="web" target="_blank" href="' + "/esc" + '">' + "Click Here" + '</a></p>';
        g_form.addInfoMessage("Please raise a request to 'xyz Software' in the catalog:" + urlString);
    }
}

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

SumanthDosapati
Mega Sage
Mega Sage

@Hiranmayee Moha 

Try below approach

var link = '<a href="google.com">URL</a>';
var message = 'Please raise a request to xyz software in the catalog' + ' ' + link + ' ';
gs.addInfoMessage(message);

Accept the solution and mark as helpful if it does, to benefit future readers.
Regards,
Sumanth

View solution in original post

@Hiranmayee Moha 

My mistake, gs wont work in client scripts.

use g_form.addInfoMessage.

 

 

View solution in original post

Hi @Ankur Bawiskar !

 

It worked. I had done a small mistake.

 

Thanks again

Hiranmayee Mohanta

View solution in original post

18 REPLIES 18

@Hiranmayee Moha 

is it going inside the IF?

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

Hi @Ankur Bawiskar !

 

It worked. I had done a small mistake.

 

Thanks again

Hiranmayee Mohanta

Hi @Ankur Bawiskar !

thanks again for your help — the popup link is working as expected.

I just need a bit more assistance: how can I reset the fields of the current catalog item to null?

 

TIA

Hiranmayee Mohanta

@Hiranmayee  

sorry didn't get your requirement

please explain in detail what you want?

If on the current catalog item you want to reset then reload the page/form

    location.reload();

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

@Hiranmayee  

var fields = g_form.getEditableFields();
for (var x = 0; x < fields.length; x++) {
g_form.clearValue(fields[x]);