Re: Quickform: static type needs colspan

From: Date: Wed, 26 Feb 2003 22:55:54 +0000
Subject: Re: Quickform: static type needs colspan
References: 1  Groups: php.pear.general 
Request: Send a blank email to pear-general+get-3984@lists.php.net to get a copy of this message
<eltehaem@poczta.onet.pl> wrote : > Dan Wilson wrote: > >> $reason set above based on reason for not logging in... I'm using in >> conjunction with PEAR::Auth >> >> $form = new HTML Quickform('login'); >> >> $reason = '<div style="color: red">' . $reason . >> '</div>'; >> >> $form->addElement('static', null, $reason); >> $form->addElement('text', 'username', 'Username:', >> $username); >> $form->addElement('password', 'password', 'Password:'); >> $form->addRule('username', 'Username is required', >> 'required'); >> $form->addRule('password', 'Password is required', >> 'required'); >> $form->addElement('submit', 'submit', 'Submit'); >> >>>> The new static type is great, but it doesn't have a colspan... it only >>>> appears >>>> in the first column with the element labels. > > The intention of static was to use it like any other element (i. e. text > box), so it has a name (in first column) and value (in second column). > This code: > > $form->addElement('static', null, 'Name:', 'value'); > $form->addElement('text', 'username', 'Username:', > 'wojtek'); > > Would produce output like this: > > Name: value > Username: [ wojtek ] > > In your case you can use either addData (I don't like this one); > > $form->addData('<tr><td colspan="2">' . $reason . > '</td></tr>'); > > Or (I would prefer this, but it would not display in colspaned row): > > $form->addElement('text', 'username', 'Username:', $username); > $form->addElement('password', 'password', 'Password:'); > $form->addRule('username', 'Username is required', > 'required'); > $form->addRule('password', 'Password is required', > 'required'); > $form->addElement('submit', 'submit', 'Submit'); > > function login_ok($element, $username) > { > // check login and pass here and return true if ok > } > $form->registerRule('checklogin', 'function', 'login_ok'); > $form->addRule('username', 'Wrong login', 'login_ok', > 'function'); > > See also: HTML_QuickForm/docs/QuickForm_example3.php You can also try to give a name to your static element and then call setElementTemplate('html with colspan', $staticElementName); Bertrand Mansion Mamasam

« previous php.pear.general (#3984) next »