optionsURL = $optionsURL; parent::__construct($name, $title, $value, $maxLength); } function extraClass() { return parent::extraClass() . " autocomplete"; } function Field() { // Requirements::javascript(SAPPHIRE_DIR . '/javascript/AutocompleteTextField.js'); $attributes = array( 'class' => "{$this->class} text" . ($this->extraClass() ? $this->extraClass() : ''), 'type' => 'text', 'id' => $this->id(), 'name' => $this->name, 'value' => $this->Value(), 'tabindex' => $this->getTabIndex(), 'size' => $this->maxLength ? min( $this->maxLength, 30 ) : 30 ); if($this->maxLength) $attributes['maxlength'] = $this->maxLength; return $this->createTag('input', $attributes) . "
id() . "_Options\" class=\"autocompleteoptions\">
"; } function FieldHolder() { $holder = parent::FieldHolder(); $id = $this->id(); $holder .= << new Ajax.Autocompleter( '$id', '{$id}_Options', '{$this->optionsURL}', { afterUpdateElement : function(el) { if(el.onajaxupdate) { el.onajaxupdate(); } } } ); JS; return $holder; } } ?>