Skip to main content
sarahp26444118
Participating Frequently
October 8, 2017
Answered

populate text field from several dropdown selections

  • October 8, 2017
  • 2 replies
  • 699 views

I have created a from where by I make a selection from a dropdown list and it puts a sentence into a text field from the export value. I am using the following code in a custom format script that someone helped me with.

var f = event.target;

var pos = f.currentValueIndices; //position sélectionnée

this.getField("Speaking").value = f.getItemAt(pos, true);

I want the text field to be able to add a second or third line of text from a different dropdown menu. I this possible?

Currently the new selection will just overwrite the previous selection. Each dropdown menu has 5 options- limited, basic, sound, high, outstanding and I want a different sentence to insert for each selection.

On another post someone told me to do a custom calculation script for the textfield as follows:

var v1 = this.getField("Speaking").valueAsString;

var v2 = this.getField("Writing").valueAsString;

if (v1=="sound" && v2=="basic") event.value = "Speaking sound outcome\nWriting basic outcome";

But to do this I would have to write an if statement for each combination and in some areas of my document I have up to 5 dropdown menus feeding into the text field. Is there an easier way to do it? Thanks

This topic has been closed for replies.
Correct answer Bernd Alheit

Use something like this:

var v1 = this.getField("Speaking").valueAsString;

var v2 = this.getField("Writing").valueAsString;

var val = "";

if (v1=="sound") {

  if (val.length > 0) val = val + "\n";

  val = val + "Speaking sound outcome";

}

if (v2=="basic") {

  if (val.length > 0) val = val + "\n";

  val = val + "Writing basic outcome";

}

event.value = val;

2 replies

sarahp26444118
Participating Frequently
October 9, 2017

Thank you so much. Worked perfectly!

Bernd Alheit
Community Expert
Bernd AlheitCommunity ExpertCorrect answer
Community Expert
October 9, 2017

Use something like this:

var v1 = this.getField("Speaking").valueAsString;

var v2 = this.getField("Writing").valueAsString;

var val = "";

if (v1=="sound") {

  if (val.length > 0) val = val + "\n";

  val = val + "Speaking sound outcome";

}

if (v2=="basic") {

  if (val.length > 0) val = val + "\n";

  val = val + "Writing basic outcome";

}

event.value = val;