DIGIFORMS
Digiforms Designer Documentation
 
 
 
 
 
 
Help by samples
 
 
 
Capture or output data in a defined layout
 
Extensible Markup Language
AJAX / Async Functions
Posting and updating partial page
General
To enhance performance and user experience using slow network connections, Digiforms comes with full support for updating any portion of the page, without the need of knowing intricate details to achieve it. Updating portions of a page is as simple as defining containers, assigning ID's and requesting the update to post information only within the container, making highly customizable widgets and dialogues quite simple.
XML Data manipulation
  • Update XML Data
    Post all form fields within the the target update container and reload the container content
  • Set XML node / attribute value
    Post all form fields within the the target update container.Set XML node or attribute value(s) in session or form data.Reload the container content
  • Add XML node
    Post all form fields within the the target update container.Add XML node or attribute value(s) in session or form data.Reload the container content
  • Delete XML node(s)
    Post all form fields within the the target update container.Delete XML node or attribute value(s) in session or form data.Reload the container content
  • Insert XML node
    Post all form fields within the the target update container.Insert a XML node or attribute value in session or form data.Reload the container content
A sample order dialog, adding order lines and updating groupbox portion of page
Defining which part of the page to update
As mentioned, AJAX-commands allows you to post and update a subset of the page. We will reference the outermost element that is updated as the 'ajax-container'. The ajax-container is denoted by its css-id. Each ajax command takes a parameter allowing you to specify the css-id of the page-element to post and update.
Example: Ajax command refreshing part of the html-page denoted by a css-id
The css-id parameter also allows the designer to limit the area in which the ajax-container is expected to be found by including an upper limit in the parameter-value. Digiforms will then only look for the ajax-container within the element specified by 'upper limit'. Example: css-id_of_the_upper_limit/css-id_of_the_element_to_update This may have several uses:
  • Optimized performance, as Digiforms will only search for the ajax-container within an already limited section of the page
  • Extended feature. Adding an upper limit will allow the designer to denote css-elements that otherwise would not have been accessible
Example: Ajax command invoking partial page-refresh while restricting the ajax-container search using upper_limit
In a scenario with a table listing multiple items, where each row contains item-price, number of items and total price, you may want to update only the one table-cell containing the total price. For this you would need to assign the table row as upper limit for the ajax command, specifying the table cell as ajax-container. Example: css-id_table-row/css-id_table-cell