Hi Chet,
The only way that I can think of doing this, is with some Javascript. But there's a little more to it.
Assuming you select the Traveler name from a drop down, I would then also add 2 Calculated Value controls. One that runs a Lookup runtime function to get the Email address from the Travelers list and another Calculated Value control that does a runtime lookup to the Payment Location.
Once you have those, double click on each one, to open the properties, expand "Advanced" and store the Javascript ID variable for each Calculated Value control, in their own variable names. eg. varCalcEmailAddress and varCalcPaymentLocation
Do a "Preview" of this form, and now when you select the Traveler Name from the dropdown, the 2 calculated value controls should auto populate with the corresponding Email Address and Payment Location.
Now that you have done this, select both of the Calculated Value controls (Ctrl and click each one) and then add a Rule. The rule is a "Formatting" rule and the condition is 1==1 and check the "Hide" box. This is simply to hide these controls from the user.
Next, you need to open your actual Email Address text control and Payment Location drop down controls, expand the Advanced section and store the Javascript ID variables for the also. eg. varEmailAddressID and varPaymentLocationID.
Finally, we need to add some Javascript that will connect all this up. Here's what it's going to do.
It's going to find the Calculated Value email address control when the form loads, and add an onchange event handler to it. When something changes in that control, it run some Javascript, that will take the value, find the "real" Email Address control, and set it's value.
We will do the same with the Payment Location control.
Javascript:
NWF$(document).ready(function()
{
var calcEmailAddress = NWF$('#' + varCalcEmailAddress);
calcEmailAddress.change(function()
{
var textEmailAddress = NWF$('#' + varEmailAddressID);
textEmailAddress.val(calcEmailAddress.val());
});
var calcPaymentLocation = NWF$('#' + varCalcPaymentLocation);
calcPaymentLocation.change(function()
{
var choicePaymentLocation = NWF$('#' + varPaymentLocationID);
choicePaymentLocation .val(calcPaymentLocation.val());
});
});
I've attached a Form export to this reply (download and unzip it). It won't 100% work if you import it in, because I'm doing lookups on a list called "Travellers" that exists on my O365 site. But it might help to have a reference.