Below is the code to get the empty filleds (counter);
form1.Page1.notification.NumericField1::ready:layout - (FormCalc, client)
var FilledRows = 0
for i = 0 upto Body.Table1.Row1.instanceManager.count - 1 do
if (Body.Table1.Row1[i].drp_names eq null) then
FilledRows = FilledRows + 1;
this.rawValue = FilledRows;
endif
endfor
the code in Javascript to check if the value of the counter is zero
form1.Page1.save_as::click - (JavaScript, client)
if (notification.NumericField1.rawValue == 0){
xfa.host.messageBox("This will save your form as PDF form, means you can edit later once more","Save As Form",3,0);
app.execMenuItem("SaveAs");}
else
{xfa.host.messageBox("You have : " + notification.NumericField1.rawValue + " empty highlighted fields","Empty Fields",3,0);}
Solved! Go to Solution.
If FormCalc you should assign a fields value at the very end of your script, otherwise i may be overwritten by a arithmethical or boolean result of the script itself.
var FilledRows = 0
for i = 0 upto Body.Table1.Row1.instanceManager.count - 1 do
if (Body.Table1.Row1[i].drp_names.inNull eq 1) then
FilledRows = Sum(FilledRows, 1)
endif
endfor
$ = FilledRows;
Hi Karwan,
Your code looks ok to me, is it possible you can upload your form to a file sharing site and post a link to it in this thread so we can have a look?
Regards
Bruce
Views
Replies
Total Likes
Hi dear
thanks for your time, here it's my form, see when you add rows the number of empty fields are increasing in the numericalcell I have created. but when you select all the dropdowns and there is no null dropdown the numerical cell still says there is 1 empty dropdown Please take a look and tell me what I am doing wrong .
Views
Replies
Total Likes
hi dear,
I managed to find the code myself I started again but this time from Javascript not formcalc and it worked fine now below is the code for future help you will create one numerical field and put this code in layout ready
// Null check for expanding table and rows - Name and give how many are null
var notemptyrows = 0;
for (i=0;i<Body.Table1.Row1.instanceManager.count;i++){
if (xfa.resolveNode("Body.Table1.Row1[" + i + "]").drp_names.rawValue == null)
{notemptyrows = notemptyrows + 1;
this.rawValue = notemptyrows;}
else
{this.rawValue = 0;}}
Views
Replies
Total Likes
If FormCalc you should assign a fields value at the very end of your script, otherwise i may be overwritten by a arithmethical or boolean result of the script itself.
var FilledRows = 0
for i = 0 upto Body.Table1.Row1.instanceManager.count - 1 do
if (Body.Table1.Row1[i].drp_names.inNull eq 1) then
FilledRows = Sum(FilledRows, 1)
endif
endfor
$ = FilledRows;
perfectly working now after assigning the value to a filled since my code was overwriting it self, it was making filledRows = 0 if only the last row was not null even the others are null. but now after assigning it does not do that Thanks alot radzmar
and for future help for our dear users below is the working code in JAVASCRIPT and FORMCALC:
In Javascript
// in Javascript
var notempty = 0;
var rowcount = Body.Table1.Row1.instanceManager.count;
for (var i=0;i<rowcount;i++){
if (xfa.resolveNode("Body.Table1.Row1[" + i + "]").drp_names.rawValue == null)
{
notempty = notempty + 1;}
}
this.rawValue = notempty;
In Formcalc
// in formcalc
var FilledRows = 0
for i = 0 upto Body.Table1.Row1.instanceManager.count - 1 do
if (Body.Table1.Row1[i].drp_names.inNull eq 1) then
FilledRows = Sum(FilledRows, 1)
endif
endfor
$ = FilledRows;
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies