Ich hab mal wieder ein altes Stück Code ausgegraben, was vielleicht für den einen oder anderen nützlich sein könnte. Die Frage ist, wie kann man ein Array mischen? Ich verwende hier wieder Array.prototype um das Array Objekt um die Methode shuffle() zu erweitern.
[... weiterlesen]
eine Combobox kombiniert ein Eingabefeld mit einer Auswahliste, da es kein HTML Element für eine Combobox gibt, muss diese mit Javascript nachgestellt werden. Hier ist eine Möglichkeit
[... weiterlesen]
Ich hatte ja schon ein einfaches Drag & Drop Skript hier vorgestellt, dass aber nicht allen Anforderung gerecht wird. Ich brauchte ein Skript, mit dem man Teile innerhalb eines Bereiches, Dragbar macht. Also das was man von normalen Fenstern kennt, das ganze Fenster läßt sich durch ziehen am Titel bewegen. Ausserdem gab es noch ein kleines Opera Problem, der beim Draggen den Text markierte. All das ist mit diesem Skript gelöst.
Mein neustes Werk, ist ein FormObserver. Also ein Formularbeobachter.
Das Ziel dabei ist es, die Elemente eines Formulares zu beobachten und Änderungen signalisieren.
In letzter Zeit war ich gezwungen, einige Artikel über Java bzw. Java-Frameworks wie z.b. struts, zu lesen. Dabei hakte es bei mir mit dem Verständnis, des eventorientierten Ansatz von Java.
Nachdem in einem Forum eine Frage zum prüfen von Formulareingaben mit JS gestellt wurde,
kam mir die Idee einen Formular Event Observer zu bauen.
Wird mal wieder Zeit für ein bisschen Javascript. Da ständig Lösungen von Fragen in Foren bei mir auflaufen, hier eine, um die GET Parameter mit Javascript abzufragen.
Folgende Funktion selektiert alle Einträge, in allen Formularen einer Seite. Der praktische Nutzen mag gering sein, aber hier geht es nur um die Umsetzung der Fragestellung, die in der entsprechenden Anwendung jeweils angepaß?t werden muss.
Demonstration der Javascript Funktion strftime().
Dies ist eine Umsetzung der C-Funktion, mit deren Hilfe ein Datum formatiert werden kann.
Hier eine online Dokumentation.
Im Unterschied zu der PHP oder C Funktion erwartet meine JS Umsetzung, als Parameter keinen Timestamp, sondern ein JS-Date Objekt.
Dieser Text ist etwas veraltet, zeigt aber das Grundprinzip, wie ein Text in eine Textarea eingefügt werden kann. Für BB-Code, habe ich mittlerweile eine andere Funktion geschrieben, diese findet ihr hier.
Text an der Cursorposition einfügen können nur der IE ab Version 5 und Mozilla Browser. Opera bleibt aussen vor. Wie es bei Mac und Linux Browsern aussieht, weiß ich nicht.
Mit dem Skript, können z.b. BBCode Tags eingefügt werden oder Smilies. Das Skript sieht so aus:
Doppelte Einträge in einem Array lassen sich am effektivsten über ein Objekt entfernen. Der Trick dabei ist, das ein Objektattribut nicht doppelt vorkommen kann und somit ist ein Attribut, dass mehrmals zugewiesen wird nur einmal vorhanden.
Die Umsetzung erfolgt über Array.prototype dann läßt sich diese Funktion auf jedes Array anwenden.
Der Code sieht folgendermaßen aus:
javascript
Array.prototype.unique = function(){
var o = {};
var tmp = [];
for(var i = 0 ; i < this.length; i++) o[this[i]] = true;
Ja, das geht, wenn man die URL eines Bildes auf dem Server kennt. Dazu kann man den onload bzw. onerror Eventhandler des Image Objektes benutzen, die Funktion könnte so aussehen:
javascript
function check(url){
if(!url || !document.images)return
var img = new Image();
img.onload = function(){
alert('Das Bild konnte geladen werden der Server ist online!');
Mit Hilfe von Math.random() wird bei jedem Aufruf eine neue URL erstellt, damit die Datei immer vom Server geholt wird und nicht aus dem Cache des Browsers.
Es läßt sich aber auch direkt in ein Bild im HTML Code integrieren, z.b. so:
Um ein Datum auf Gültigkeit zu prüfen muss die Eingabe zuerst zerlegt werden.
Die Funktion string2date() geht von der typisch deutschen Form TT.MM.JJJJ aus, wobei die Trennzeichen auch ein Minuszeichen oder Schrägstrich sein können.
Die Eingabe wird an den Trennzeichen gesplittet und daraus dann ein Date() Objekt erstellt. Als nächstes wird der Tag, Monat und das Jahr mit der Eingabe verglichen, stimmen alle Werte überein, wird das Date Objekt zurückgegeben, wenn nicht null
Die Funktion stripHTML() löscht alle HTML Tags in einem String.
Die Funktion stripHTML() wurde am 21.7.2010 überarbeitetet. Sie ist nun in der Lage auch mit HTML Tags umzugehen, die HTML Zeichen in den Attributen haben. Also z.b. so etwas: <p title="Ich bin kleiner < als der größere >">, was in der vorherigen Version nicht möglich war, wie schon Christoph in den Kommentaren schrieb.
javascript
function stripHTML(str){
// remove all string within tags
var tmp = str.replace(/(<.*['"])([^'"]*)(['"]>)/g,
function(x, p1, p2, p3){return p1 + p3;}
);
// now remove the tags
return tmp.replace(/<\/?[^>]+>/gi, '');
};
stripHTML() in der Version vom 21.7.2010
Die Funktion trim() löscht alle Zeilenumbrüche, Leerzeichen am Anfang und Ende und doppelten Leerzeichen.