I would like to disable all the form fields (text and dropdown lists) except the submit button, reset and print button when a user enters their signature in the signature text field on the form. I have the following code currently but its locking the buttons as well.
for
(var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {var
oFields = xfa.layout.pageContent(nPageCount, "field");
var
nNodesLength = oFields.length;
for
(var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
oFields.item(nNodeCount).access =
"readOnly";
}
}
Is there a way we can only disable the fields and not the buttons.
Solved! Go to Solution.
Views
Replies
Total Likes
Ok, so you have to change your operator to && and it should be somthink like:
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
if ( (oFields.item(nNodeCount).name != "Button3") && (oFields.item(nNodeCount).name != "Button4") )
{
oFields.item(nNodeCount).access ="readOnly";
}
}
}
Yan.
Views
Replies
Total Likes
Hi Ram,
This one will work for you:
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
if (oFields.item(nNodeCount).ui.oneOfChild.className != "button")
{
oFields.item(nNodeCount).access ="readOnly";
}
}
}
Yan.
Thanks Yan
It works great! However, I have multiple buttons on my form that I would like keep active..I have written my code below but doesnt work.
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
if (oFields.item(nNodeCount).name !=="Button1"|oFields.item(nNodeCount).name !=="Button2")
{
oFields.item(nNodeCount).access ="readOnly";
}
}
}
Any suggestions would be greatly appreciated!
Views
Replies
Total Likes
Hi Ram,
The syntax is "!=" not "!==" as you wrote in your code.
Yan.
Views
Replies
Total Likes
Hello Yan,
Thanks for finding that. I changed the operator to != but still doesnt work. Both the buttons are still disabled.
Views
Replies
Total Likes
Ok, so you have to change your operator to && and it should be somthink like:
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
if ( (oFields.item(nNodeCount).name != "Button3") && (oFields.item(nNodeCount).name != "Button4") )
{
oFields.item(nNodeCount).access ="readOnly";
}
}
}
Yan.
Views
Replies
Total Likes
Thanks Yan. Works GREAT!
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies