Q:

Process on a lookup field

I have been trying to figure out a solution for a lookup field for a custom object. The lookup field looks up and grabs the customer number. I'm required to process further on it's Id.
The visualforce page has 2 item: 

inputField for the lookup and
Execute button

The problem here I'm facing is that I'm not able to bind the lookup value that is manually entered by the user to the command button for further processing.
Here's what I tried: 

Don't want to use extension as Id is not passed on the URL, so cant use getRecord();
Can't read from URL, so no getparameter().
Can do it with a String text, but not with a lookup field.

My VF:
     <b>My Account</b>
    <apex:inputField value="{!Obj.My_Account__c}"/>
    <apex:commandButton value="Go" action="{!Process}"

Apex:
public with sharing class MyController {

public MyObject__c Obj{get;set;}

public MyController (ApexPages.StandardController controller) {
   this.Obj= (MyObject__c )controller.getRecord();

   System.debug('@@Obj'+this.Obj);
}co

 public PageReference Process(){

    //obj.My_Account__c is null       
    MyInput items = new MyInput ();
    items.customers = new List<ID>{'007ID123213Qdf0'}; //this is hardcoded but should be manually from type My_Account__c
    System.debug('My Results' + MyInput.processMe(items) ); // Working perfectly for hardcoded values as I'm not able to pass lookup values to command button    

 return null;
 }
}

Any suggestion how I can do it on my existing controller?

A:

When you're using a standard controller, you should bind to the standard controller object. In other words:
<apex:inputField value="{!MyObject__c.My_Account__c}"/>

This has several other perks as well, such as querying the value from the database when an Id parameter is provided to the page, and automatic loading of the value into the lookup field when you use a button on the related list for the field "My Account", etc.

