Disable price field when checkbox is checked (node add form)
For D7 you can go for
Conditional Fields 

Define dependencies between fields based on their states and values.
Conditional Fields for Drupal 7 is an user interface to the new States
API, plus the ability to modify fields appearance and behavior on
certain conditions when viewing content.

Field Conditional States
The Field Conditional State module can be used when:

you have a text field you only want to be enabled when a certain checkbox is checked
you want to show a different set of fields depending on the value(s) selected in a certain select list