Messages disappear quickly

__ __163
Tera Contributor

When you run this, the message "g_form.addInfoMessage(answer);//I don't want to delete this message" immediately disappears.
What should I do to resolve this?

function importmnakep() {
	var getanswer = "";
   if (!confirm("Run the import. Is it OK?")) {
    return false; //Abort submission
   }

    var sysparm_sysID = g_form.getUniqueValue();
    var sysparm_userID = g_user.userName;
    var sysparm_tableName_main = "base_table";
    var sysparm_tableName_insert = "import_table";
    var sysparm_fieldList = ['column1,column2,column3,column4,column5'];
    var sysparm_query = '';

    var gri = new GlideAjax('Import_Utils'); // Call Script Include
    gri.addParam('sysparm_name', 'Bulk_import'); // Call function
    gri.addParam('sysparm_sysID', sysparm_sysID);
    gri.addParam('sysparm_userID', sysparm_userID);
    gri.addParam('sysparm_tableName_main', sysparm_tableName_main);
    gri.addParam('sysparm_tableName_insert', sysparm_tableName_insert);
    gri.addParam('sysparm_fieldList', sysparm_fieldList);
    gri.addParam('sysparm_query', sysparm_query);
    gri.getXMLAnswer(function(answer) { //Ajax呼び出し
        if (answer.length > 0) { //戻り値チェック
			getanswer = answer;
			gsftSubmit(null, g_form.getFormElement(), 'import_mnakep');
			g_form.addInfoMessage(answer);//I don't want to delete this message
        }
    });
	
}
	if (typeof window == 'undefined') {
    deleteattachmentfile();
}

	function deleteattachmentfile() {
	
	var attachment = new GlideSysAttachment();
	var attachmentSysID = ""; //添付ファイルSysID
	var attachment_gr = new GlideRecord('sys_attachment');
	attachment_gr.addQuery('table_name', "base_table");
	attachment_gr.addQuery('table_sys_id', current.sys_id);
	attachment_gr.query();
	while(attachment_gr.next()){
		attachmentSysID = attachment_gr.sys_id;
		attachment.deleteAttachment(attachmentSysID);
	}
	action.setRedirectURL(current);
	}
3 REPLIES 3

Shaqeel
Mega Sage

Hi @__ __163 

 

One issue in the code is the misplaced closing brace } after impotmnakep function,

The current object used in deleteattachmentfile function is not defined within the scope of the function.

 

Here is the corrected code:

function importmnakep() {
    var getanswer = "";
    if (!confirm("Run the import. Is it OK?")) {
        return false; // Abort submission
    }
 
    var sysparm_sysID = g_form.getUniqueValue();
    var sysparm_userID = g_user.userName;
    var sysparm_tableName_main = "base_table";
    var sysparm_tableName_insert = "import_table";
    var sysparm_fieldList = ['column1', 'column2', 'column3', 'column4', 'column5'];
    var sysparm_query = '';
 
    var gri = new GlideAjax('Import_Utils'); // Call Script Include
    gri.addParam('sysparm_name', 'Bulk_import'); // Call function
    gri.addParam('sysparm_sysID', sysparm_sysID);
    gri.addParam('sysparm_userID', sysparm_userID);
    gri.addParam('sysparm_tableName_main', sysparm_tableName_main);
    gri.addParam('sysparm_tableName_insert', sysparm_tableName_insert);
    gri.addParam('sysparm_fieldList', sysparm_fieldList);
    gri.addParam('sysparm_query', sysparm_query);
    gri.getXMLAnswer(function(answer) { // Ajax call
        if (answer.length > 0) { // Check return value
            getanswer = answer;
            gsftSubmit(null, g_form.getFormElement(), 'import_mnakep');
            g_form.addInfoMessage(answer); // Retain info message
        }
    });
}
 
if (typeof window === 'undefined') {
    deleteattachmentfile();
}
 
function deleteattachmentfile() {
    var attachment = new GlideSysAttachment();
    var attachmentSysID = ""; // Attachment SysID
    var attachment_gr = new GlideRecord('sys_attachment');
    attachment_gr.addQuery('table_name', "base_table");
    attachment_gr.addQuery('table_sys_id', g_form.getUniqueValue()); // Use g_form to get sys_id
    attachment_gr.query();
    while (attachment_gr.next()) {
        attachmentSysID = attachment_gr.sys_id;
        attachment.deleteAttachment(attachmentSysID);
    }
    action.setRedirectURL(current);
}

 

 

 

Regards

Shaqeel

 


***********************************************************************************************************************
If my response proves useful, please indicate its helpfulness by selecting "Accept as Solution" and " Helpful." This action benefits both the community and me.

***********************************************************************************************************************





Regards

Shaqeel

__ __163
Tera Contributor

thank you for your reply.
I looked at the code you corrected, but I couldn't quite understand where the position of "} "was changed.
I actually set it up and confirmed its operation.
However, since the "deleteattachmentfile()" function uses gsftSubmit to perform server processing, I think g_form is not functioning properly.
Also, the message still disappears when the file deletion operation is performed.

James Chun
Kilo Patron

Hi @__ __163,

 

You are refreshing the page with the following line of script:

action.setRedirectURL(current);

 

That's probably why the message disappears promptly as the page is refreshed.

 

Cheers