Option Transfer in QF
| From: | Ken Restivo | Date: | Fri, 11 Feb 2005 21:53:15 +0000 |
| Subject: | Option Transfer in QF | ||
| Groups: | php.pear.general | ||
| Request: | Send a blank email to pear-general+get-17493@lists.php.net to get a copy of this message | ||
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Has anyone implemented multiselect option transfer using QF? I'd rather not be blazing new
ground on which no human has ever tread.
Basically an option-transfer is somewhat similar to a heirselect, and if I had to implement it
myself I'd probably start by subclassing or copy-pasting the heirselect code.
Here's a non-QF example: http://www.quirksmode.org/js/transfer.html
Of course, I suspect the above JS will work with stock pair of QF selects. That, I guess, will be
the easy part.
I'm less certain of how to implement the non-javascript version in a way that doesn't run
afoul of $trackSubmit, validate() and process().
1) When the user is bringing up the form for the first time, I somehow need to find out (checking
__qf_tracksubmit?).I need to populate the select values out of the database.
2) When they click on a --> or <-- button or link, I need to prevent QF from validating and
processing, and instead grab the contents of the selects from getSubmitValues(), first changing the
submitted value to add what the user clicked on in the other select, and then redisplay the form.
3) When they finally click on submit, I have to do the above step in case they made changes, and
then presumably can process normally-- I'm using a method similar to that of FB's
crossLinks.
I find it difficult-- though not impossible-- to believe that nobody has ever done this before in
QF. If that's true, I'm probably going to find it even more difficult to be the first to
implement it.
- -ken
- --
- ---------------
The world's most affordable web hosting.
http://www.nearlyfreespeech.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCDSlLe8HF+6xeOIcRAtSaAKCR/lUCxD3UuvtLwSYKXPgAYq34HwCgvRKo
eCDcYkvSIWSjGehwW/cyuYg=
=lO/f
-----END PGP SIGNATURE-----