I want to create a drop-down menu for user's location (choosing cities) in the form.
I know how to create it, but as I want a long list of citis, so is there any other way to create it? Or do i have to create each city one by one?!

You could build a database/flat file of the cities yourself, or you could use an API that pulls the cities in as a user types them as well.
For example, here is an API that does just that http://www.geobytes.com/free-ajax-cities-jsonp-api.

In addition to that, I believe http://www.geonames.org/ has an API as well for all types of geo data.

Of course there are drawbacks to using a public API, such as reliability, etc.