- Problem with multiple inputs
One of my search forms allows people to search using one or more keywords. If they select one keyword it's delivered as a string. If they select multiple keywords it's delivered as a list. In the search results page I want to generate a new search form that contains the input parameters from the search to make it easy to generate a related search. I currently have <!--#if keywords--> <!--#in keywords--> <input type=hidden name="keywords" value="<!--#var sequence-item-->"> <!--#/in--> <!--#/if--> This fails if the user selected just a single keyword, since the keywords parameter is a string. Is there some clean way to work around this problem? The only thing I can see is something like <!--#if keywords--> <!--#if "type(REQUEST['keywords']) == type('')"--> <input type=hidden name="keywords" value="<!--#var keywords-->"> <!--#else--> <!--#in keywords--> <input type=hidden name="keywords" value="<!--#var sequence-item-->"> <!--#/in--> <!--#/if--> <!--#/if--> which fails because the builtin function type is apparently not available. I also tried using "_.type(...)" but that failed with an AttributeError (was that the correct syntax?). My short-term solution is to add a hidden parameter with a dummy value that guarantees if the user selects a keyword there will be at least two keywords, thus I'll get a list I can loop over with #in. Is there a cleaner way out of this mess? Thanks, Skip Montanaro | Mojam: "Uniting the World of Music" http://www.mojam.com/ skip@mojam.com | Musi-Cal: http://www.musi-cal.com/ 518-372-5583
On Tue, 26 Jan 1999 skip@calendar.com wrote:
<!--#if keywords--> <!--#in keywords--> <input type=hidden name="keywords" value="<!--#var sequence-item-->"> <!--#/in--> <!--#/if-->
Is it possible to reset the keywords parameter in the REQUEST as [keywords]? Something like <!--# call "REQUEST.set('keywords',[keywords]) --> or <!--# call "REQUEST.set('keywords',[REQUEST['keywords']]) --> Pavlos
participants (2)
-
Pavlos Christoforou -
skip@calendar.com