How to check if your InfoPath form is “dirty”? (Tracking changes)
1) Create field called InitialState
2) At open event assign InitialState field to the following Xpath expression:
.. Yes, it’s two dots :)
3) At the submit rule compare InitialState field with the following expression assuming it’s a rule condition at a button:
Make sure the InitialState field is a very last node in the myFields group fields list.
I also believe some people might have find interesting the way I used conditional expression to parameterize the output message.