the way the button is treated by the paypal system is set by the cmd hidden element:
<input type="hidden" name="cmd" value="_xclick" />
for a donation button, the cmd hidden element should have the value set to "_donations":
<input type="hidden" name="cmd" value="_donations" />
the price passed to paypal should be in a form element named amount. using a select list, and not offering an empty value will ensure that an amount is entered:
<select name="amount">
<option value="100">100</option>
<option value="25">25</option>
<option value=".01">.01</option>
</select>
for more details see the paypal standard variable reference doc:
e_howto_html_Appx_websitestandard_htmlvariables