05.02.2010
20:48

Activating Autocompleter in script.aculo.us when entering a field (on Focus)

Weiterer Text

Autocompletion is a very useful AJAX feature: it allows the user to enter common values in fields very fast. By default, autocomplete activates after you type in the first letter. If you only have a few values in the autocomplete list, this is not very useful. Better would be to show the autocomplete list as soon as the user enters the field (the field is becomes focus).

For example we may have a field named color and would like to propose only a few values to the user. Because autocomplete starts after typing the first letter, the user will never see all suggestions we provide for the field. It would be more useful to provide a list of colors instantly when the user enters the field. By default this does not work with script.aculo.us. The script.aculo.us autocompleter offers the option minChars. But this parameter can not be set to 0, because 0 is evaluated as Boolean false and triggers the default value which is 1.

Example:

new Ajax.Autocompleter('DocumentJournalTitle', 'DocumentJournalTitle_autoComplete',
'/autoComplete/journal_title',
{minChars:0, frequency:0.1});

This does not work as expected: Autocomplete is still triggered after typing the first character.

I developed a short work around:

Set minChars to -1, this evaluates to true and is smaller or equal to 0:

<input name="journal_title" type="text" id="DocumentJournalTitle"
autocomplete="off" value="" />
<script type="text/javascript">
new Ajax.Autocompleter('DocumentJournalTitle', 'DocumentJournalTitle_autoComplete',
'/autoComplete/journal_title',
{minChars:-1, frequency:0.1});
</script>

This still does not work as expected. Why? The autocompleter only listens for keypress events. When the user enteres the field, the autocompleter is not activated. So we need to fire the event manually. This works this way:

<input name="journal_title" type="text"
onFocus="doFireEvent(this,&#039;keydown&#039;);"
id="DocumentJournalTitle" autocomplete="off" value="" />
<script type="text/javascript">
function doFireEvent(elem,event){
// IE
if (document.createEventObject){
var e = document.createEventObject();
return elem.fireEvent('on'+event,e)
}
// firefox and others
else{
var evt = document.createEvent("HTMLEvents");
evt.initEvent(event, true, true ); // event type,bubbling,cancelable
return !elem.dispatchEvent(e);
}
}
new Ajax.Autocompleter('DocumentJournalTitle', 'DocumentJournalTitle_autoComplete',
'/Entwicklung/StudyBase/documents/autoComplete/journal_title',
{minChars:-1, frequency:0.1});
</script>

And now the autocomplete box will show as soon as the field gets focused :-)

19.01.2010
08:22

Schülerpraktikant bei uns

Seit gestern ist unser Schülerpraktikant da. Er interessiert sich für Webdesign, das Internet und interaktive Webanwendungen, eben diese Dinge die wir den ganzen Tag anstellen.

Für uns ist es schön, unser Wissen weitergeben zu können und durch ihn auch mal einen ganz neuen Blick auf unsere tägliche Arbeit zu bekommen. 

Wir freuen uns auf interessante drei Wochen und hoffen, dass sowohl wir als auch er viele neue Erfahrungen sammeln und interessante Dinge lernen werden!

14.01.2010
10:05

XAMPP für Windows: Apache startet nicht

Heute wollte der neu installierte XAMPP einfach den Apache Server nicht mehr starten. In den Apache logs fand sich dazu folgender Eintrag.

Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations
[notice] Server built: Nov 11 2009 14:29:03
[crit] (22)Invalid argument: Parent: Failed to create the child process.
[crit] (OS 6)Das Handle ist ungültig.  : master_main: create child process failed. Exiting.
[notice] Parent: Child process exited successfully.


Nicht so wirklich aussagekräftig. Gelöst hat das Problem der folgende Hinweis auf ein Problem mit dem Perl-Pfad.

Da hier derzeit kein Perl genutzt wird, reicht auch ein deaktivieren des entsprechenden Modules in der httpd.conf. Wer jedoch Perl benötigt muss noch weiter in die Konfiguration steigen und sich dort nach einer Lösung umschauen.

 

 

23.12.2009
13:51

Frohe Weihnachten

Wieder ist ein Jahr fast vorbei. Da ist es an der Zeit allen unseren Lesern und Kunden herzlich für das Interesse und die gute Zusammenarbeit im vergangenen Jahr zu danken. 

Genießen Sie die Weihnachtstage und kommen Sie gut ins neue Jahr 2010!

11.12.2009
10:12

An die Vergangenheit erinnert

Vor mehr als 5 Jahren haben wir unsere erste Gründungsidee umgesetzt und mit der Entwicklung der Auftragsbörse begonnen. Mittlerweile hat uns die Konkurrenz überholt und wir haben uns neuem zugewandt (z. B. vSwarm unserer kostenlosen Renderfarm) , aber ab und an erinnert das eine oder andere noch an die damaligen Aktionen. 

Vor rund einem halben Jahr wurden wir von Langenscheidt kontaktiert mit der Bitte um die Erlaubnis einen Text von uns zu veröffentlichen. Das Interessante dabei war, dass es um einen bereits seit 4 Jahren im Internet zu Marketingzwecken veröffentlichten Artikel über die Gründung der Auftragsbörse ging. 

Wir haben natürlich die Erlaubnis zur Veröffentlichung gegeben und so flatterte dieser Tage das Werk "Aspekte" Lehrbuch 3 des Langenscheidts Verlags in unser Büro. Schön!