[development] "Subclassing" the standard #autocomplete form
sdrreynolds at gmail.com
Thu Jan 18 16:24:05 UTC 2007
I may not have this quiet right but isn't this what hook_autocomplete is
You can print drupal_to_js($my_array)? Mostly emailing a response because I
would like to know the answer too.
Date: Wed, 17 Jan 2007 17:43:10 -0800
> From: Rob Thorne <rob at torenware.com>
> Subject: [development] "Subclassing" the standard #autocomplete form
> To: development at drupal.org
> Message-ID: <45AED0AE.5060806 at torenware.com>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> I need a widget for Forms API which *almost* identical to the
> textfield autocomplete widget in 5.0. I want the same user experience
> -- the user types and chooses an item. But I want the underlying AJAX
> and Drupal behavior to differ a bit.
> An example of the type of widget I'd want would be a "Country Selection"
> widget where what I really want is the two-character country code (US,
> CA, GB, FR, and so on), but I want the user to think of typing "United
> States", "Canada", "Great Britain", "France" or so on in order to get
> the popup to get set on this code.
> Looking through the 5.0 sources, the way the current autocompletion
> widget works is via includes/form.inc, where the theming function
> theme_textfield($element) special cases textfields with the
> '#autocompletion_path' , by making sure that autocomplete.js gets added
> to the page going out, and by adding a hidden <item> to store state
> information that the code in autocomplete.js needs to do its work.
> I really don't need to change behavior very much; I just need to send
> back an array of array(key, value), where the standard widget sends back
> an array of string values. But pretty much everything else that
> Unconed's code does exactly what I want, and while I can copy if if
> that's easiest, I don't want or need to change what he did.
> What's the best way to create my modified Forms API widget? It looks
> like I'd want to "override" or "subclass" theme_textfield, although only
> to add behavior: I don't want standard autocomplete widgets to behave
> any different than usual (although I'd not want both sets of code to
> compete on the same widget). I'd then copy autocomplete.js and make
> very small changes in it, changing function names where required.
> Is there a better way to do this? Or even better, has someone else
> already done this?
> Rob Thorne
> Torenware Networks
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the development