Re: [SMARTY-DEV] html_options oversight

From: Date: Sun, 25 Jan 2004 17:23:29 +0000
Subject: Re: [SMARTY-DEV] html_options oversight
References: 1 2 3  Groups: php.smarty.dev 
Request: Send a blank email to php-smarty-dev+get-2069@lists.php.net to get a copy of this message
On Sun, Jan 25, 2004 at 11:42:55AM -0500, Gerard Samuel wrote: > On Sunday 25 January 2004 10:55 am, messju mohr wrote: > > how do you manage to do that? when i pass an empty array to > > html_options i get no output at all, not even the <select>-tag. > > > > No you misunderstood me. > <?php > $foo = array(); > $smarty->assign('bar', $foo); > $smarty->display('foo_bar.tpl'); > ?> > > --foo_bar.tpl-- > <select name="foo"> > {html_options options=$bar} > </select> > --foo_bar.tpl-- ah, ok. {html_options} shouldn't create an empty <option> if no options are given, then. others may use it the following: <select name="foo"> <option value="">default</option> {html_options options=$bar} </select> and {html_options} can not know here if the context it was called is has other options or not. > With the php array $foo being empty, the resulting html is -> > <select name="foo"> > </select> > > This is when it becomes illegal (X)HTML. > For it to become "legal", it would have to be > <select name="foo"> > <option></option> > </select> > > Now I was thinking after I sent the original email, that I could probably > force $bar to contain data that would create something like the "legal" > example. > $foo = array(null => ''); > > I haven't tried that as yet to see what html_options would do in this case. > Im hoping that it doesn't produce an empty value for the <option> tag > <option value=""></option> as Im not sure if > <option value=""></option> is same and equal to > <option></option> during the > form POST. > Im open to ideas if any. it does create an empty value '<option value=""></option>' but i'm sure this passes the same value to the browser as '<option></option>' would, namely an empty one. > Thanks

« previous php.smarty.dev (#2069) next »