Expand my Community achievements bar.

Setting "invisible" fields to "visible"

Avatar

Level 1

Hi All

My intention is to send customers a list of billing documents, but to hide the data on the form until they have entered a password.

I set the presence of the various fields to "invisible" in a docReady event. (Or even statically on the Object palette).

The user then captures the password in a password field and clicks an "OK" button.

In the click event of the button I compare the password to the value it should be and then I loop through all the fields that need to be made visible and I set the presence to "visible". Sounds great, but the fields remain hidden. Any ideas?

data.#pageSet[0].Page1.Button1::click - (JavaScript, client)

var lineCount = data.SBF_Content.Items.resolveNodes("Row2[*]").length;

if (xfa.resolveNode("data.#pageSet.Page1.password").rawValue  == xfa.resolveNode("data.#pageSet.Page1.Table4.Row4.#field").rawValue)

{

  for (var i = 0; i<lineCount; i++)

  {

  data.SBF_Content.Items.resolveNode("Row2[" + i + "]").FKDAT.presence = "visible";

data.SBF_Content.Items.resolveNode("Row2[" + i + "]").VBELN.presence = "visible";

data.SBF_Content.Items.resolveNode("Row2[" + i + "]").WAERK.presence = "visible";

data.SBF_Content.Items.resolveNode("Row2[" + i + "]").NETWR.presence = "visible";

data.SBF_Content.Items.resolveNode("Row2[" + i + "]").ReprintPDF.presence = "visible";

data.SBF_Content.Items.resolveNode("Row2[" + i + "]").downloadScan.presence = "visible"; 

} // for i...

}

else

{

  app.alert("Passwords do not match");

    for (var i = 0; i<lineCount; i++)

  {

data.SBF_Content.Items.resolveNode("Row2[" + i + "]").FKDAT.presence = "invisible";

data.SBF_Content.Items.resolveNode("Row2[" + i + "]").VBELN.presence = "invisible";

data.SBF_Content.Items.resolveNode("Row2[" + i + "]").WAERK.presence = "invisible";

data.SBF_Content.Items.resolveNode("Row2[" + i + "]").NETWR.presence = "invisible";

data.SBF_Content.Items.resolveNode("Row2[" + i + "]").ReprintPDF.presence = "invisible";

data.SBF_Content.Items.resolveNode("Row2[" + i + "]").downloadScan.presence = "invisible"; 

} //for i...

}

1 Reply

Avatar

Level 1

Further to the above, can anybody suggest a better way to password-protect the form?

The above would only hide the data from a normal user accessing the data via Adobe Reader etc. but anyone could still extract the XML easily enough.