Setting pattern in a script | Community
Skip to main content
ReluctantProgrammer
Level 4
June 28, 2021
Solved

Setting pattern in a script

  • June 28, 2021
  • 2 replies
  • 2103 views

Along with rounding up I'm trying to set a the pattern of a field in a form based on the number entered.  I.E. if the field is <10 then use 1 decimal; if 10 or greater use 0 decimals. So basically,  if 0.47 is entered it will round to 0.5.  Likewise if 2.84, it would round to 2.8.  But if 10.85 is entered it would round to 11 and 25.83 would round to 26 because both are greater than 10.  Can this be done?

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Kosta_Prokopiu1

Hi, @reluctantprogrammer 

 

@pulkit_jain_ has shown you a JS function which will modify the value which you would then put into the field.

There is an alternative approach. Assuming that this is an interactive form you use a Numeric Field and then place the following script in the Exit event:


if (this.rawValue <10) {
this.format.picture.value = "num{z,zzz,zz9.9}";
} else {
this.format.picture.value = "num{z,zzz,zz9}";
}

 

This will not change the value, only the display pattern.

The result for your numbers:

 

 

 

2 replies

Pulkit_Jain_
Adobe Employee
Adobe Employee
June 30, 2021

@reluctantprogrammer 

You can implement something like below on the field exit event of your form:

function myFunction() { var num = [Field Value Input]; if (num<10) { var n = num.toFixed(1); } else { var n = num.toFixed(0); }

 

Hope this helps!

Kosta_Prokopiu1
Adobe Employee
Kosta_Prokopiu1Adobe EmployeeAccepted solution
Adobe Employee
June 30, 2021

Hi, @reluctantprogrammer 

 

@pulkit_jain_ has shown you a JS function which will modify the value which you would then put into the field.

There is an alternative approach. Assuming that this is an interactive form you use a Numeric Field and then place the following script in the Exit event:


if (this.rawValue <10) {
this.format.picture.value = "num{z,zzz,zz9.9}";
} else {
this.format.picture.value = "num{z,zzz,zz9}";
}

 

This will not change the value, only the display pattern.

The result for your numbers:

 

 

 

ReluctantProgrammer
Level 4
June 30, 2021
Perfect! Thank you so much!!