For item p1_text_field:
- Create a dynamic action with properties:
Event - Key down or Change, Selection Type - Item, Item(s) - p1_text_field
- Add a
Client Side Condition: Type - Item is null, Item - p1_text_field. This condition will allow you to unlock disabled field in a case you clear p1_text_field
- Add
True action with type Enable, Selection Type - Item, Item(s) - p2_select_list
- Add
False action with type Disable, Selection Type - Item, Item(s) - p2_select_list
After that, when a user input something into p1_text_field, p2_select_list will be disabled. If the user clears value of p1_text_field, p2_select_list will be enabled. If you don't need this, do not create Client Side Condition.
Repeat same steps for p2_select_list.
UPD - Important notice
I forgot about one "feature" of APEX. When you create a new true or false action, check field Fire on initialization. It have to be No, otherwise action will be executed on page load. The main problem is that APEX sometimes creates new actions with this field set to Yes.