Because the commandButton builds on the HTML Submit button object and HTML submits can only be done in conjunction with an HTML Form object that contains it. That's specified by the RFCs that define HTML and the HTTP protocol.
As a secondary reason, JSF doesn't simply fire off an event - there's a whole lot of extra information that goes down to the server as well, so a full-blown POST request has to be made.
Customer surveys are for companies who didn't pay proper attention to begin with.
Joined: Oct 08, 2006
Webbrowsers only understand HTML. JSF just renders HTML (alongside some other client side stuff like JS/CSS). Open a JSF page in your favourite browser and view source. Do you see?