Proposal for stacked SELECTs (SELECTs in SELECTs in FORMs)
Fri, 31 Mar 95 11:44:20 WET

Date: Fri, 31 Mar 95 11:44:20 WET
Message-Id: <>
Subject: Proposal for stacked SELECTs (SELECTs in SELECTs in FORMs)

     The present Menu/ListBox structure (in HTML3.0 draft) is restrictive, 
     as it only allows one layer of menus.
     It would be much more useful to allow other SELECTs inside a Menu. 
     This would give the cascade menu effect seen on most platforms.
     I have two ideas for the syntax:
     <SELECT NAME="flavour">
     <SELECT NAME="chocolate level">
     <OPTION>Rum & Raisin
     OR (Better IMHO)
     <SELECT NAME="flavour">
     <OPTION SELECT NAME="chocolate level">Chocolate <OPTION OPTION>Single
     <OPTION OPTION>Double
     <OPTION OPTION>Triple
     <OPTION>Rum & Raisin
     This second syntax is less prone to be taken as a syntax error by 
     older browsers, and rendered anyway.
     Both of these, when activated, would give a structure of:
     |Vanilla      |
     |Strawberry   |       
     |Chocolate   >|--------
     |Rum & Raisin |Single |
     |_____________|Double |
     |Triple |
     Of which, when un-activated, with a choice pointing to a sub-menu is 
     selected, just the box containing:
     |Chocolate  > |
     Would be visible.
     This would make the selection of items within forms much more 
     flexible, as less on-screen real-estate is required.
     The second syntax has the advantage that it would enable a browser to 
     render the menu more easily even it was not capable of rendering 
     popupmenus, or the SIZE attribute is >1.
     This implies that the browser could render the items in a list-box 
     format, with the second choice appended to the end of the first 
     column, resulting a row format shown for the same example here:
     |Vanilla               |^|
     |Strawberry            | |
     |Chocolate    > Single | |
     |Chocolate    > Double | |
     |Chocolate    > Triple | |
     |Rum & Raisin          | |
     The browser would then be responsible for sending the correct response 
     from the selected item, by setting the "flavour" and "chocolate level" 
     return variables appropriately.
     The program interpreting the results would then have to look first at 
     the "flavour" variable, then at the "chocolate level" if appropriate.
     It is possible that this may be considered too incompatible with the 
     previous versions of the HTML standard, so then a new keyword would be 
     needed to specify a Popupmenu-only tag that can have child menus, that 
     can only be used for SIZE=1 rendering.
     Tom Tobin
     QA Engineer, BusinessObjects