The Google-Bot will generally try to fill out and post forms on a page, in order to discover new content and URLs that are not directly viewable otherwise.
Google will decide on an individual basis if a FORM-Element on a page is considered to be useful and then try to fill out that form using a small number of different natural requests, made to simulate an actual user.
Google only crawls forms which use the GET-method and do not ask for personal information. Additionally, the form should be made up of no more than two input fields.
How can I make the content behind my forms accessible to Google?
For this, you would have to set up your forms in a way that the Google-Bot can fill them in and crawl their content. You cannot, however, force the Google-Bot to crawl the content. A relevant text near the FORM-Element, describing the reason behind the form, can also be helpful.
The use of the so called AutoCompleteType-Attribute does not help the Google-Bot fill out the form, but is helpful for users.
To make sure that you do not rely entirely on having your forms crawled, you would have to link all the pages behind your form with each other and have at least one of these pages accessible through your domain’s startpage. You should also make a HTML- or XML-Sitemap available for all the pages that can be reached through the form, so that Google has an easier time finding them all.
Video explanation by Matt Cutts / Google on this topic
How is Google finding pages which don’t have any links to them?
How can Googlebot crawl and index pages that don’t have any links to them on my website? I find each day two or three pages in the index that don’t have any links to them on my site. The pages are generated by the search field of my website.