I'm using a PmForm to save values to a page. Is there a way to reference the field values from within the dataform? Specifically I'd like to be able to reference the field values of a form reloaded due to an error, when using. (:input default request=1 :)
*Background* I'm saving PmForm field values to a page. On the page header I include the directive: (:pmform test:) Because the field values are stored on the page, and the form is rendered in the header I can reference the field values using: {$:field_name:) I store the field values along with additional information I'd like to strip out, so I do some processing: (:input text $:email size=25 value="{(substr "{$:email}" 1 3)}":) Which works, because the fields are on the page. However, when the page is re-displayed due to a PmForm triggered error (like title being empty in the sample below), the field displays the field value, not the new value re-displayed from PmForms. 1] Save the page to get some values. 2] Now with values in the form, change the Email field to "retryemail". 3] Blank out the Title -- this will raise a PmForm error. 4] Notice the original value is in Email (it's picked up from the page variable set in [1]). what I'd like to do is replace the use of the field variable {$:email}, and somehow reference the value sent back to the form by PmForms. *Sample* In the sample below, on the email field is a contrived example, but shows the kind of thing I'm trying to do. Test page is: http://wiki.solidgone.org/Test/FormData If the field processing is not possible from the dataform, is it possible to perform functions as immediately after the form is processed, but before it's displayed -- perhaps queue something up post-PmForm processing, and manipulate the variables there? ~ ~ Dave ----- Directive on page Test.FormData: (:pmform test:) config.sys $PmForm['test'] = 'form=Test.PmForms#dataform fmt=Test.PmForms#datapost'; [@ [[#dataform]] value of email is {$:email} In page Test/PmForms: (:input pmform target=test:) (:input default source="Test/FormData" :) (:input default request=1 :) (:messages:) || Name:||(:input text $:name size=25 :) || || Email:||(:input text $:email size=25 value="{(substr "{$:email}" 1 3)}":) || || Title:||(:input text $:title size=25 :) || (:input submit :) (:input end:) [[#dataformend]] @] [@ [[#datapost]] (:template defaults saveto="Test/FormData":) (:template require $:title errmsg="$[Title is required]":) (:template defaults savevars=$:name,$:email,$:title :) [[#datapostend]] @] _______________________________________________ pmwiki-devel mailing list pmwiki-devel@pmichaud.com http://www.pmichaud.com/mailman/listinfo/pmwiki-devel