Attachment to be attached if the user Checks the checkbox

Balaraju K B
Tera Expert

Hi Team,

I have a check box in my catalog item

  • If the user checks that check box then he must attach an attachment
  • If the user not checking that check box in this case he can submit the catalog item without attaching.

Please let me know how to get this done?

@Ankur Bawiskar 

 

Thanks in Advance.,

Balaraju K B

1 ACCEPTED SOLUTION

Ankur Bawiskar
Tera Patron
Tera Patron

@Balaraju K B 

this onSubmit client script should help

1) Ensure the Isolate Script field is set to false for this client script

2) By default when you create new client script it is true

Note:

Ensure you give valid checkbox variable name and your message for alert/form message

function onSubmit() {
	//Type appropriate comment here, and begin script below

	if(g_form.getValue('checkbox_variable').toString() == 'true'){
		if(window == null){
			// portal
			if(this.document.getElementsByClassName('get-attachment').length == 0) {
				g_form.addErrorMessage('You must add attachment before submitting this request.');
				return false;
			}
		}
		else{
			// native view
			var length = $j("li.attachment_list_items").find("span").length;
			if(length == 0){
				g_form.addErrorMessage('You must add attachment before submitting this request.');
				return false;
			}
		}
	}
}

find_real_file.png

Regards
Ankur

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

View solution in original post

15 REPLIES 15

Alp Utku
Mega Sage
function onSubmit() {
   //Type appropriate comment here, and begin script below
	
  if (g_form.getValue('your_variable_name_here') == "No") 
	  

  
  { 
	  try {
		   
			var msg = 'This request requires an attachment. Please review the form and try again.';
			var attachments = document.getElementById('header_attachment_list_label');
			//g_form.addInfoMessage("Attachment visibility: " + attachments.style.visibility + " attachment display: " + attachments.style.display);
			if (attachments.style.visibility == 'hidden' || attachments.style.display == 'none' ) {
				alert(msg);
				return false;
		  }
		
	  }
  
	  //For Service Portal
	  catch(e) {
		  var count = getSCAttachmentCount();
		  if(count <= 0) {
			  alert(msg);
			  
			  return false;
		 }
	  
	  }
  }
	
}