The solution was simple.
Simply choose any two fields in frame A.
public void focusA(){
frameA.getField1().focus();
frameA.getField2().focus();
frameA.focus();
}
The button click handler in Frame B should call focusA() before flushing the field values.
What focusA() does is
- focus on any other field would trigger update from DOM to Field Editor value, except the field being focused.
- in which case, trigger another random field to trigger update of first field.
- then prevent focus from sticking to the last field being focused (to prevent inadvertent field editing by user) by focusing on the container.