Skip to main content
Participant
January 7, 2019
Answered

If I have 4 columns and the 1st column a person enters a value between 1-10, I want it so that if they enter 1-3 it appears in the 2nd column, 4-6 it appears in the 3rd column and 7-10 it appears in the 4th column. How do I do that?

  • January 7, 2019
  • 1 reply
  • 402 views

This topic has been closed for replies.
Correct answer try67

OK, I've written for you a generic function that you could use for all the fields. You just need to specify the min and max values.

The function code (which should be placed as a doc-level script) is:

function showScore(min, max) {

    var rowNumber = event.target.replace(/\D/, "");

    var v = Number(this.getField(rowNumber+"A").valueAsString);

    event.value = (v>=min && v<=max) ? v : "";

}

You then call it from the custom calculation script of your fields like this:

showScore(1,3);

Or:

showScore(4,6);

etc.

1 reply

try67
Community Expert
Community Expert
January 7, 2019

What are the names of the fields?

Participant
January 7, 2019

Enter 1-10 is 1A, 1-3 is 1B, 4-6 is 1C, 7-10 is 1D then row 2 it is 2A, 2B, 2C, 2D and so on.

So if someone enters a 8 in 1A it will appear in both 1A and 1D.

Thank you so much for your help!

try67
Community Expert
try67Community ExpertCorrect answer
Community Expert
January 7, 2019

OK, I've written for you a generic function that you could use for all the fields. You just need to specify the min and max values.

The function code (which should be placed as a doc-level script) is:

function showScore(min, max) {

    var rowNumber = event.target.replace(/\D/, "");

    var v = Number(this.getField(rowNumber+"A").valueAsString);

    event.value = (v>=min && v<=max) ? v : "";

}

You then call it from the custom calculation script of your fields like this:

showScore(1,3);

Or:

showScore(4,6);

etc.