You can use something like this:
this.getField("Text1").value = "Some text before: " + this.getField("Text2").value + " some more text";
More precisely, I understand that what you are trying to achieve is:
Box1 Box2 ----> Box2
"Hello" "World" ----> "Hello World"
Put this in a button mouseUp event.;
this.getField("Box2").value = this.getField("Box1").value + " " + this.getField("Box2").value; //" " adds a space between the 2 words.
As you can see, I can change the value of Box2 in a way that it includes the original value of the same box. Also, take note that when using strings, the "+" operator acts as a concatuator and not as an addition. Be careful when adapting such a script for a calculate event as values will concatuate in an exponential manner. You will need to specify parameters as for when the calculation should stop. You can use an "if" statement or maybe a "while" loop for such a task.
Another approach would be to put every values in an array like:
var aField = new Array(this.getField("Box1").value, this.getField("Box2").value, etc);
and use the aField.join(" "); method to join every item with the character of you choosing (a space in this example) as a string for displaying in the final box.
There are some ways......
When getting field values when you intend to use them as strings, you should get in the habit of retrieving their value with the valueAsString property, instead of the value property.
Thanks guys for your help I've got it working.