in reply to Problems with sticky CGI params

If you use CGI, the module helps you to override sticky values, using the "override" attribute of the field element.
I apologize for not knowing exactly what you are looking for, so that my example can be simply plugged in as-is. But, maybe it can be helpful in a general way.

$out->textfield('_variable' ,$out->param('redirect')?$ref->{'url'}:'qu +icklog',20,-override => 1)
'_variable' is where the field value is stored.
$out is the name of the CGI object.
$out->param('redirect')?$ref->('url') is the parameter that expands to the default URL, over which I want to force changes using the form. And here comes the answer to your question (hopefully):
-override => 1 allows the default parameter to be overridden by the submitted form contents.

If you don't want to use CGI, you may still find this to be a good clue - but I don't have much experience trying to create form and field code without :-)