<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		
		<title>ab-softlab - Aktuelles</title>
		<link>http://www.ab-softlab.de/</link>
		<description>immer wieder was Neues</description>
		<language>de</language>
		<image>
			<title>ab-softlab - Aktuelles</title>
			<url>http://www.ab-softlab.de/fileadmin/extranet/favicon.ico</url>
			<link>http://www.ab-softlab.de/</link>
			<width>32</width>
			<height>32</height>
			<description>immer wieder was Neues</description>
		</image>
		<generator>TYPO3 - get.content.right</generator>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		
		
		
		<lastBuildDate>Tue, 22 Nov 2011 09:59:00 +0100</lastBuildDate>
		
		
		<item>
			<title>Di. 22.11.2011</title>
			<link>http://www.ab-softlab.de/hauptbereich/aktuelles/details/article/di-22112011.html</link>
			<description>der erste Weihnachtsmarkt-Besuch des Jahres steht an - und wir haben noch nicht einmal Dezember ...</description>
			<content:encoded><![CDATA[Es steht heut immernoch Code Review und Performance Analyse an, Deadline ist bei Feierabend.
Es ist ein Tag der kleinen Schritte, immer wieder passiert etwas unvorhergesehenes, vom Anruf bis zum kompletten Datenbank-Crash. Das hat alles Zeit und Nerven gekostet und wenig gebracht in Hinsicht auf das eigentliche Ziel heute.
Aber auch solche Tage gibt es, und es bleibt die Hoffnung auf Besserung. Also morgen nochmal von vorn, und dann hoffentlich mit mehr Erfolg.Der Test auf dem endgültigen Zielsystem steht zwar noch aus, aber unter Testbedingungen war eine Aufrufdauer von nur noch der Hälfte des Ausgangswertes möglich. Was mich natürlich zu der Frage führt, wie ich einen derartigen Flaschenhals gebaut habe, ohne es zu bemerken, und wo evtl. weiteres Potential steckt.
Für heute abend ist ein Ausflug zum Hamburger Weihnachtsmarkt geplant, mal gucken ob der Glühwein schmeckt. Für die Weihnachtsmarkt-Gänger unter euch: Wenn es auf einem Markt Tassen mit Stadt und Datum draufgedruckt gibt, nehmt doch bitte eine für mich mit. Pfand, Porto und Verpackung zahle ich, Versandankündigung gerne im Kommentar oder übers Kontaktformular. Ich kenne jemanden, der sich über solche Souveniers sehr freut.]]></content:encoded>
			<category>Allgemeines</category>
			
			<author>aleichsenring@ab-softlab.de</author>
			<pubDate>Tue, 22 Nov 2011 09:59:00 +0100</pubDate>
			
		</item>
		
		<item>
			<title>Mo. 21.11.2011</title>
			<link>http://www.ab-softlab.de/hauptbereich/aktuelles/details/article/mo-21112011.html</link>
			<description>Wo bleibt eigentlich die Zeit? Was bleibt, wenn man abends ins Bett fällt? Ich möchte für mich...</description>
			<content:encoded><![CDATA[Heute ist also Montag. Montags bedeutet dieser Tage, frühmorgens meinen Arbeitsort von Hannover nach Hamburg in die Hafencity zu verlegen. Je nach Wetter mit Motorrad oder Deutscher Bahn, heute morgen war es angesichts von Temperaturen unter Null und dichtem Nebel die Bahn.
Dank des aktuellen Angebotes der Deutschen Bahn, zu einer im November gekauften Bahncard 50 die Partnerkarte kostenlos obendrauf zu legen, habe ich meine gerade abgelaufene Bahncard 50 letzte Woche verlängert und muss mir nun wieder wenig Sorgen machen.
Angekommen im Büro, lautet die Aufgabe heute Code Review einer Extension, die ich hier vor einigen Wochen geschrieben hatte. Ist noch auf pi_base und stellt die Frontend-Ausgabe sowie Bearbeitungsmechanismen für einen Webservice zur Verfügung. Das Frontend ist ziemlich langsam, hier ist also auch mal Performance-Analyse angesagt. Eigentlich eine interessante Sache, zumal ich den Code selbst eine Weile nicht gesehen habe und immermoch relativ gut finde.
Damit verging der Tag, nach Feierabend habe ich mich auf dem Weg ins Hotel mit einem Stück Pizza versorgt und lasse es damit gut sein.]]></content:encoded>
			<category>Allgemeines</category>
			
			<author>aleichsenring@ab-softlab.de</author>
			<pubDate>Mon, 21 Nov 2011 13:19:00 +0100</pubDate>
			
		</item>
		
		<item>
			<title>Zeichen zählen in Textfeldern</title>
			<link>http://www.ab-softlab.de/hauptbereich/aktuelles/details/article/zeichen-zaehlen-in-textfeldern.html</link>
			<description>Heute etwas abseits der gewohnten Pfade eine Anleitung für eine JavaScript Funktion. Beim Erreichen...</description>
			<content:encoded><![CDATA[HTML stellt uns für diese Funktion keine Prüfung zur Verfügung, obwohl sie oft genug sinnvoll wäre: Eine Texteingabemöglichkeit soll nicht mehr als x Zeichen aufnehmen. Man kann natürlich Hinweise daneben schreiben, aber wer zählt schon mit?
Ohne weitere Hilfsmittel hat man nur die serverseitige Prüfung zur Verfügung, um die Länge des eingetragenen Textes zu prüfen und ggf. zu kürzen. Damit wird der Benutzer aber vor eine vollendente Tatsache gestellt, die ihn vielleicht von der geplanten Aktion (Kommentar hinterlassen, Bestellung aufgeben) Abstand nehmen lässt.
Ein kurzes Treffen mit einer Suchmaschine der Wahl bringt dann auch jede Menge Treffer zum Vorschein, wie man mittels JavaScript eine Textarea überwacht und mit verschiedensten Massnahmen dem Benutzer die Rückmeldung gibt, er möge sich doch bitte kurz fassen. Warum schreibe ich nun noch eine weitere? Mein Problem umfasst zwei Eckpunkte: die Seite, die die Prüfung erhalten sollte, realisiert andere Funktionen bereits mit dem Framework jQuery und es gibt innerhalb eines Formulares mehrere zu überwachende Textboxen. Also musste ich eine Lösung finden, die auf jQuery beruht und Formularelemente einzeln identifizieren kann.
Nach viel Sucherei, etwas professioneller Hilfe und Ausprobieren kam dies dabei heraus:
<pre>&lt;script type="text/javascript"&gt;<br />&lt;!--<br />function checkLen(size, field) {<br /> var $element = $(field);<br /> if ($element.val().length &gt; size &amp;&amp; !$element.hasClass('tomanychars')) {<br /> $('&lt;div class="error"&gt;Bitte maximal ' + size + ' Zeichen eingeben! <br />     Überschüssige Zeichen werden abgeschnitten.&lt;/div&gt;').insertBefore($element);<br /> $element.addClass('tomanychars');<br /> } else if ($element.val().length &lt;= size &amp;&amp; $element.hasClass('tomanychars')) {<br /> $element.siblings('.error').remove();<br /> $element.removeClass('tomanychars');<br /> }<br />}<br />//--&gt;<br />&lt;/script&gt;</pre>
Dies ist die JavaScript-Funktion, die vor dem Formular eingebunden werden muss. Sie kann sowohl im head der Seite als auch im body hinterlegt werden.
Für jedes Textfeld des Formulars muss folgender Zusatz im öffnenden textarea hinzugefügt werden:
<pre>onkeyup="checkLen(300,this)"</pre>
Die 300 steht hier für die Anzahl der erlaubten Zeichen im Element.
Nach dem Einbau wird überwacht, wieviele Zeichen eingegeben werden. Wird die Höchstzahl überschritten, erscheint ein Element mit einer Warnmeldung vor dem Eingabefeld. Werden die Zeichen reduziert und die Höchstmenge unterschritten, verschwindet die Meldung wieder.]]></content:encoded>
			<category>Allgemeines</category>
			
			
			<pubDate>Sat, 11 Jun 2011 08:55:00 +0200</pubDate>
			
		</item>
		
	</channel>
</rss>
