Answers to Frequently Asked Questions regarding CForms
Meta-FAQ - Questions and Answers about the CForms FAQ itself
Can I post a question without an answer in the FAQ?
Yes, that's perfectly alright. In fact, you could post them right here:
Who is maintaining this FAQ?
I am, you are, he/she/it is. We all do it. Feel free to post questions or to answer them, in a polite and cooperative spirit.
CForms Styling
Q. How do I remove the "views" links from the top right of forms?
- Your answer here
Links
Q. What are some useful CForm links?
CForms/Flow/Sitemap
Q. How do I use Forms without the handleForm function
- Call your custom flowscript function from the sitemap. The sitemap and funciton might look as follows:
Flow script:
function myFormFlow(){ var documentURI = "path/to/your/xml_do_to_bind_to.xml"; var form = new Form("path/to/your/form_def.xml"); var dom = loadDocument(documentURI); var viewData = new Object(); viewData.selectOptionList = new Array(); viewData.selectOptionList.push( {value: "1", label: "option 1" }); form.createBinding("path/to/your/form_bind.xml"); form.load(dom); form.showForm("form-display-pipeline",viewData ); form.save(dom); ... }
Site Map:
<map:match pattern="the_form"> <map:call function="myFormFlow"/> </map:match>
Segment of form def field with options defined in flow:
<fd:field id="class" required="true"> <fd:label>Select an option:</fd:label> <fd:datatype base="string"/> <fd:selection-list dynamic="true" type="flow-jxpath" list-path="selectOptionList" value-path="value" label-path="label"/> </fd:field>
Where does it go?
Q. Where can the form data go once it's been successfully accepted, and how do you do it?
- ??? (needs an answer)
Obvious requirements would include:
- sent by email to some address
- added to a database as a new record
- saved on the server in a new XML file (this one is really important)
- saved on the server as an additional instance of a second-level element in an existing XML file (ie inserted immediately before the end-tag of the root element)
- used to replace (update) matching elements in an existing XML file (assuming the form had been populated at display time with the data from the existing file)
- submitted as data to some external (non-Cocoon, non-Apache, probably non-Java) program (script or binary executable)