I am looking for help with an IF statement that looks at value ranges and performs a sum based on what it finds.
I am using LC D 8, script is running on FormCalc - Client side - Calculate event. Numericfield1 is a user entered value.
I currently have (which doesn't work):
if ( numericfield1 >= 1000 <= 4999 ) then // I want to check is the users input is between these numbers
numericfield1 * 5 / 1000 // If it is I want to execute this sum only
elseif ( numericfield1 >= 5000 <= 9999 ) then
numericfield1 * 10 / 1000
elseif ( numericfield1 >= 10000 <= 19999 ) then
numericfield * 20 / 1000
endif
So if I enter 2500 in numericfield1 the sum would be: 2500 * 5 / 1000 = 12.5
I want to continue these value ranges in these sets: 1000 to 4999 | 5000 to 9999 | 10000 to 19999 | 20000 to 49999 | 50000 to 250000.
(would also like to enforce that 1000 is the lowest possible entry)
The above will work when numericfield1 is anything below 4999, but anything after that it continues to * by 5 then / by 1000. Where it should * 10 then / by 1000.
Hope someone can push my thinking in the right direction, many thanks in advance.
Solved! Go to Solution.
Views
Replies
Total Likes
You need an "and" in your statement:
if (numericfield1 >= 1000 and numericfield1 <= 4999) then
Views
Replies
Total Likes
You need an "and" in your statement:
if (numericfield1 >= 1000 and numericfield1 <= 4999) then
Views
Replies
Total Likes
Thank you Jono
I was also missing the second mention of the numericfield1 after the 'and'. Starting to make more sense now.
My gratitude reaches out to you
Views
Replies
Total Likes
No problemo!
If you're new to scripting in Designer here are some links to documentation:
http://help.adobe.com/en_US/livecycle/9.0/FormCalc.pdf
http://help.adobe.com/en_US/livecycle/9.0/LiveCycle_Designer_Scripting_Basics.pdf
http://help.adobe.com/en_US/livecycle/9.0/lcdesigner_scripting_reference.pdf
Views
Replies
Total Likes
Thanks for the reference docs. I shall download them now, from glance I think I have 2 of them already... lengthy reading
A follow on question to the above; If I have a radio button with 2 options and I wanted to execute one of two IF statements based on the radiobutton selection how might I do this? eg:
// Run this if radio button selection = A
if (numericfield1 >= 1000 and numericfield1 <= 4999) then
numericfield * 5 / 1000
endif
// Run this if radio button selection = B
if (numericfield1 >= 1000 and numericfield1 <= 4999) then
numericfield * 20 / 1000
endif
I wondered if I could add something like:
if (radiobutton = A) then
// insert above if statement for 'A' here
elseif (radiobutton = B) then
// insert above if statement for 'B' here
Alternatively I read you can use another numeric field and set a click event on the radiobutton choices like:
numericfield2 = 1 // for radiobutton choice A
numericfield2 = 2 // for radiobutton choice B
From here I could use this numeric fields value in my IF statement sets to perhaps do what I want to do.
Is there a way to nest an IF statement inside another?
** Just thought I'd ask while I trawl the forum is a similar answer
Views
Replies
Total Likes
Please try this - it works fine and I hope you understand it:
You have to take a look for the binding of your radiobuttonlist here - You can change the binding value with a doubleclick, for example
1 to ValueA
2 to Value B
Then you have to change your script and ask for:
if(RadioButtonList.rawValue == ValueA)
{
if (NumericField1.rawValue >= 1000 && NumericField1.rawValue <= 4999)
{
NumericField1.rawValue *5/1000;
}
}else
{
if (NumericField1.rawValue >= 1000 && NumericField1.rawValue <= 4999)
{
NumericField1.rawValue *20/1000;
}
}
I would prefer to show the user a message:
if(this.rawValue >=1000 && this.rawValue <=4999)
{
}else
{
app.alert("Please insert a value between 1000-4999. Thx.");
this.rawValue = null;
}
You have to coy this in the exit-event of the NumericField1.
Hope it will helps you,
Kind regards Mandy
Thank you Mandy
That helped very much, after I took the time to understand the code it made sense. I was able to code up the rest of my requirements and evertything worked beautifully. Thank you very much.
Views
Replies
Total Likes
Views
Likes
Replies