Form submission handler is not executed
There is two problems:


You form method is GET so form submit action will be the actual path with the params like node/10?search_location=kathmandu&amp;op=Search&amp;form_build_id=form-s4JrAE91au_BWakeBLD7RUsktRTBXFCpJQrnHGiOjg8&amp;form_token=ES2W0RDpLOnWZUsXOnP4f9gBmSXcYLvqhO9uy1ee4Vk&amp;form_id=d7_exp_form  
The second one you set your action to '/buy/{_val_}' so automatically after the submit you will redirect to /buy/{_val_} without invoke the submit handler.


Suggestion:


If you want to invoke the submit handler remove the $form['#method'] and $form['#action'], so your form will be with post method and your submit handler will invoked.
Remove only $form['#method'] and create menu entry /buy/% and you can do your submit handler logic in the /buy/% callback function.