Determine whether a field has changed during hook_node_submit Basically I need a way of checking whether a node field changed during some event hook...I am using hook_node_submit() but this doesn't seem to work:

$form['field_status']['und']['#value'] !== $node-&gt;field_status['und'][0]['value']


Produces equality all the time...any suggestions on which hook and how I would check equality when I know a value has changed it should fire off an email...

Alex
As said from @Clive, the only way is to compare the value in $node with the value contained in $node-&gt;original. As far as I can see, that value is only available in hook_node_edit(), hook_node_update(), and hook_node_presave() since entity_load_unchanged() is called from node_save() (which also unset $node-&gt;original before exiting). If you need it in hook_node_submit() you could simply add the following code in your implementation.

if (!empty($node-&gt;nid) &amp;&amp; !isset($node-&gt;original)) {
  $node-&gt;original = entity_load_unchanged('node', $node-&gt;nid);
}


Since you are checking for field properties, the other, more general, hook would be hook_field_attach_submit().