473,394 Members | 1,739 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

Complex HTML forms

I'd like to gather advice and links to any existing solutions (e.g.
libraries, frameworks, design patterns) on general ways of writing
complex web forms, as opposed to the typical {name:value} flat model.
A particular case of what I mean by complex is hierarchical forms. For
instance, a form that consists of a select list widget, where each
item of the list activates a distinct set of other widgets. Think for
example of a web frontend to CSV or SVN options and commands, where
each command has its own suboptions. The suboptions are hidden (or
even inexistent) until the user selects the specific command, and only
then they appear (typically by Javascript). When the form is
submitted, the selected options are passed in the server in some form
that preserves the hierarchy, i.e. not as a flat dict. Is there
anything close to such a beast around ?

George

Feb 17 '07 #1
4 1793
George Sakkis wrote:
When the form is submitted, the selected options are passed in the server in some form
that preserves the hierarchy, i.e. not as a flat dict. Is there anything close to such a beast around ?
Yes, I have a framework called XSLForms which generates hierarchical
field names when rendering XML documents using XSL-based templates;
these field names are then interpreted in order to build XML documents
based on the encoded hierarchy information. When these activities are
successfully combined, the outcome is some kind of serialisation of
XML data in Web forms.

Take a look at the XSLTools distribution (which contains XSLForms):

http://www.python.org/pypi/XSLTools

Using the framework is not as easy as I'd like it to be, but there are
a few examples (as well as the code, of course) and that should give
you some ideas.

Paul

Feb 17 '07 #2
George Sakkis schrieb:
I'd like to gather advice and links to any existing solutions (e.g.
libraries, frameworks, design patterns) on general ways of writing
complex web forms, as opposed to the typical {name:value} flat model.
A particular case of what I mean by complex is hierarchical forms. For
http://toscawidgets.org/
http://docs.turbogears.org/1.0/SimpleWidgetForm

--
Greg
Feb 18 '07 #3
George Sakkis schrieb:
I'd like to gather advice and links to any existing solutions (e.g.
libraries, frameworks, design patterns) on general ways of writing
complex web forms, as opposed to the typical {name:value} flat model.
A particular case of what I mean by complex is hierarchical forms. For
instance, a form that consists of a select list widget, where each
item of the list activates a distinct set of other widgets. Think for
example of a web frontend to CSV or SVN options and commands, where
each command has its own suboptions. The suboptions are hidden (or
even inexistent) until the user selects the specific command, and only
then they appear (typically by Javascript). When the form is
submitted, the selected options are passed in the server in some form
that preserves the hierarchy, i.e. not as a flat dict. Is there
anything close to such a beast around ?
formencode, which is heavily used in TurboGears. The dynamic parts
though you have to code yourself - but using mochikit, this is easy as
cake...

Diez
Feb 18 '07 #4
On Feb 18, 4:44 am, Gregor Horvath <g...@gregor-horvath.comwrote:
George Sakkis schrieb:
I'd like to gather advice and links to any existing solutions (e.g.
libraries, frameworks, design patterns) on general ways of writing
complex web forms, as opposed to the typical {name:value} flat model.
A particular case of what I mean by complex is hierarchical forms. For

http://toscawidgets.org/http://docs....mpleWidgetForm

--
Greg

Thank you all for the helpful replies. ToscaWidgets seems particularly
promising at a first glance, I'll look into it first.

Best,
George

Feb 18 '07 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Charles E. Pelkey | last post by:
Hi all, Got a question for y'all regarding the best way to maintain HUGE forms and linking them to data tables in MySQL. I have a set of forms that were created specifically for a Loan...
0
by: Marc te Vruchte | last post by:
Over the past years i've been in contact with the same problem a number of times, creating a graphical user interface on complex XML documents. Personally these solutions have never been...
11
by: Sven Neuberg | last post by:
Hi, I have been handed the task of updating and maintaining a web application, written in ASP and Javascript, that takes complex user inputs in HTML form and submits them to server-side ASP...
116
by: Mike MacSween | last post by:
S**t for brains strikes again! Why did I do that? When I met the clients and at some point they vaguely asked whether eventually would it be possible to have some people who could read the data...
2
by: Pete | last post by:
Before I get started with the question, does anyone have a (single) good book recommendation for database design? Not an Access-specific book, but something geared toward helping me figure out...
2
by: stoppal | last post by:
I have the following query SELECT TOP 1 CDate(forms!frm_a!cbo_period & '/1/' & forms!frm_a!cbo_year) AS mydate, * FROM DBO_table WHERE DBO_table.field1=forms!frm_a!cbo_field1 And...
4
by: Özden Irmak | last post by:
Hello, I'm trying to save some properties of some windows controls into a XML File. Most of the properties work when I save them as String (TypeConverter.ConvertToString). But some complex...
2
by: Lance | last post by:
I want to be able to reset a complex property in a PropertyGrid. I know that for properties that are ValueTypes you can include System.ComponentModel.DefaultValue in the declaration of the property....
5
by: ma740988 | last post by:
Trying to determine how to get the max element from a complex sequence. Given: int main() { //typedef std::complex < double > C typedef std::vector < std::complex < double > > complex_vec;...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.