Expand my Community achievements bar.

Don't print empty fields...?

Avatar

Former Community Member
I need a little help... I am creating a User Request Form and i would

like the form to print only with the fields/boxes that are checked or

filled. I am not too experienced with scripts so i was looking for some

advice and or where i could find out how to accomplish this. Many

thanks!
1 Reply

Avatar

Former Community Member
You will have to get a list of all objects on the form, test then one by one to make sure you have a field, see if the field is empty and if so then set it to be Visible (screen only).



This script is not trivial for a non-programmer. If you want to try it here is the basis for creating a script object that will allow you to get all fields and set the relevant property to -print so that it will be excluded from the print. This is a function meant to go into a scripting object. To call the scripting object use:



scriptobjectname.NoPrintEmptyFields(form1);



/*************************************************************************************

Function: NoPrintEmptyFields

Description: This function will set all empty fieldsso that they will not print.

IN: The parent subform. It could also be an element that contains subform like form1

OUT : nothing

**************************************************************************************/

function NoPrintEmptyFields(myParentObject){



var allChildElements;

var intNumElements;

var currentElement;

var j;



//Get all the child nodes of the parent element

allChildElements = myParentObject.nodes;



//Total number of element in the object

intNumElements = allChildElements.length;



//Loop through all the child elements

for(j=0; j< intNumElements;j++){

currentElement = allChildElements.item(j);

//If the element is another subform we'll recusively call the function again

if(allChildElements.item(j).className == "subform"){

LockAllFields(currentElement);

}

//If the objects are fields and they are empty then we will set the relevant property to -print

else if((currentElement.className == "field") && (currentElement.rawValue == null)){



currentElement.relevant = "-print";



}

//Check for exclusion groups - Radio Buttons

else if(currentElement.className == "exclGroup"){

for(k=0; k< currentElement.nodes.length;k++){

if(currentElement.nodes.item(k).className == "field"){

//set the relevant property for the radio buttons individually

currentElement.relevant = "-print";

}



}

}

}

}//end function