Here is a short video demonstrating the “Print to PDF” method for flattening dynamic forms at runtime. This allows users to fill in a form and then secure the form data from being changed or erased.
Category: Videos
Static vs. Dynamic Forms in Adobe LiveCycle ®
In this tutorial I demonstrate and explain the differences between static and dynamic forms. I also emphasize how not understanding this key element can cause otherwise well designed forms to not work as they should.
Mandatory Fields in Adobe LiveCycle ®
//To make the Field optional change the above statement to: this.parent.TextField1.mandatory = “warning”;
Advanced Expanding Tables and Script Objects in Adobe LiveCycle ®
This tutorial demonstrates how Scripting Objects can be used to make more robust and better organized forms. Also, I demonstrate how to use check boxes to manipulate data rows in an expanding table.
Here is the code used in the Script Object and Check Boxes:
SO:
function addToTable(component, check_caption, check_uncheck)
{
var rowNum = component._Row1.count;
if (check_uncheck == 1) //check if click was on or off
{ //if on then add the row to the table
if (rowNum == 0)
{
component._Row1.addInstance();
component.Row1.Cell1.rawValue = check_caption;
}
else if (rowNum == 1) //if 1 and no value assign value
{
if (component.Row1.Cell1.rawValue == null) //check for available row
{
component.Row1.Cell1.rawValue = check_caption;
}
else //if 1 and value add row and assign value
{
component.Row1.instanceManager.addInstance();
component.resolveNode(“Row1[1]”).Cell1.rawValue = check_caption;
}
}
else if (rowNum > 1)
{
component.Row1.instanceManager.addInstance(); //count rows – if greater than 1 add row and assign value
component.resolveNode(“Row1[” + rowNum +”]”).Cell1.rawValue = check_caption;
}
}
else //if off then delete the row from the table
{
var rows = component.resolveNodes(“Row1[*]”);
var row = component;
for (var i=0; i<rows.length; i++) //find the correct row
{
var currentRow = rows.item(i);
if (currentRow.Cell1.rawValue == check_caption)
{
component._Row1.removeInstance(i);
}
}
}
}
Check Boxes:
SO.addToTable(this.parent.Table1, this.resolveNode(“caption.value.#text”).value, this.rawValue);