Wanted to hide Attachment field for the default view in custom table.

Praju_123
Tera Contributor

I'm trying to hide the attachment field from the form only in the default view. It should remain visible in all other views.

To achieve this, I wrote the following onLoad client script, but the field is still not hiding. I'm sharing the code below for your reference:

Praju_123_0-1754917177985.png

 

function onLoad() {
    var viewName = g_form.getViewName();

    if (viewName === 'default') {
        // Disable the paperclip icon for adding new attachments
        g_form.disableAttachments();

        // Hide the attachment section (classic UI)
        var attachSection = document.getElementById('header_attachment');
        if (attachSection) {
            attachSection.style.display = 'none';
        }

        // Hide the attachment separator line if present
        var attachLine = document.getElementById('header_attachment_line');
        if (attachLine) {
            attachLine.style.display = 'none';
        }
    }
}

Despite this, the attachment field is still visible. Could you please help us identify what might be missing or suggest an alternative approach?
2 ACCEPTED SOLUTIONS

@Praju_123 , I submitted a record producer on the Incident table and attached a file during submission. However, when I returned to the form view of the table, the attachment clip was not visible for default view. Client script was working fine.

If this works, please mark it as helpful/accepted — it keeps me motivated and helps others find solutions.
Shashank Jain – Software Engineer | Turning issues into insights

View solution in original post

@Praju_123 

what do you mean by attachment field?

you are trying to remove the top header attachment icon and the header row right?

how is file attached to record producer?

Via paper-clip icon or some attachment variable?

share screenshots

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

14 REPLIES 14

Nikhil Bajaj9
Giga Sage

Hi @Praju_123 ,

 

Have you tried to give view name after removing global check box on right hand side in client script:-

NikhilBajaj9_0-1754918429070.png

 

This can be an alternative approach. Try once and share feedback.

 

Regards,

Nikhil Bajaj

Please appreciate my efforts, help and support extended to you by clicking on – “Accept as Solution”; button under my answer. It will motivate me to help others as well.
Regards,
Nikhil Bajaj

Ankur Bawiskar
Tera Patron
Tera Patron

@Praju_123 

Do this and it should work fine

1) Ensure "Isolate Script" = false for your onLoad client script so that DOM is allowed

2) ensure you check Global checkbox so that it runs on all view, anyhow your script is checking the view name 

3) this field if not on form can be marked as False from list view

AnkurBawiskar_0-1754919099668.png

 

AnkurBawiskar_1-1754919226007.png

 

Note: DOM manipulation is not recommended

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 
I have already set the Global checkbox to true and Isolate Script to false.

@Praju_123 

Did you add alert and see what came in view name?

try this and share feedback

function onLoad() {
    var viewName = g_form.getViewName();
    alert(viewName);
    if (viewName === 'default') {

        alert('inside if');

        // Disable the paperclip icon for adding new attachments
        g_form.disableAttachments();

        // Hide the attachment section (classic UI)
        var attachSection = document.getElementById('header_attachment');
        if (attachSection) {
            attachSection.style.display = 'none';
        }

        // Hide the attachment separator line if present
        var attachLine = document.getElementById('header_attachment_line');
        if (attachLine) {
            attachLine.style.display = 'none';
        }
    }
}

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