Mit ‘AJAX’ getaggte Artikel

Ajax Objekt ordnungsgemäß erstellen – eine cross-browser Lösung für korrektes Einsetzen von AJAX

Dienstag, 08. Februar 2011

AJAX (Ajax Asynchronous JavaScript and XML) ist eine asynchrone (oder auch synchrone) auf Javascript basierende Datenübertragung – Server zu Browser, die es ermöglicht, innerhalb einer HTML Seite eine HTTP-Anfrage auszuführen. Hierbei können beliebige beispielsweise PHP Skripte ausgeführt werden, deren Ausgabe überall auf die Seite intergriert werden kann, ohne dass man die Seite neu laden muss. Die Nutzung ist ziemlich straightforward und einfach, jedoch müssen bestimmte Gesetze eingehalten werden, damir Ihr AJAX Skript auf alle gängigen Browsern funktioniert.

Problematik

Um eine AJAX Abfrage zu programmieren, müssen Sie zunächst einen AJAX Objekt erzeugen, der die Abfrage über HTTP und Javascript absendet und die Antwort zurückgibt. Hierbei gibt es verschiedene Schreibweisen für die korrekte Erstellung des AJAX Objektes, die jeweils verschiedenen Browsern passen. Dieser Artikel setzt damit auseinander wie man ein AJAX-Objekt in einer JavaScript Funktion erstellen kann ohne nachzudenken ob der Browser das “frisst”. Die Ausführung einer Abfrage, die Wartezeit und das Handhaben der Antwort werden wir in weiteren Artikeln beobachten.

Lösung

Anbei eine Javascript Funktion, die einen AJAX Objekt cross-browser kompatibel erzeugt:

 
function CreateAjaxObject() {
    objAjaxRequest = false;
    if (window.XMLHttpRequest) {
        objAjaxRequest = new XMLHttpRequest();
        if (request.overrideMimeType) {
         objAjaxRequest.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
         objAjaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
             objAjaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
   
    return objAjaxRequest;
}

Diese Funktion funktioniert einwandfrei unter IE6 und nach oben, Safari, Mozilla, Opera und Chrome. Weitere Browser sollten das auch machen können. Um das Objekt anschließend zu erstellen, müssen einen Befehl so ausführen:

var objAjax = CreateAjaxObject();

Nun können Sie mit objAjax abfragen. Viel Spass!

Sie kommen selber nicht weiter?
Keine Sorge, nehmen Sie einfach Kontakt mit uns auf oder rufen Sie uns unter 02161 177747 an!

Multiple Select Auswahl an PHP Array übergeben

Samstag, 20. März 2010

Als Fortsetzung von unserem letzten Artikel “Select Options automatisch mit Javascript markieren“, nehmen wir uns heute ein weiteres Problem vor, dass sich auf die Übergabe der Mehrfachauswahl der Selectoptions an PHP bezieht. Nachdem wir unsere Mehrfahauswahl mit Javascript getroffen haben, wollen diese komfortabel an PHP übergeben.

Problematik

Der Standardfall, wenn wir ein HTML-Select nutzen, sieht bei der gängigen Programmierung so aus:

<select name="MeinSelect">
<option value="1">Erster Element</option>
<option value="1">Erster Element</option>
</select>

Hier können wir nur eine Option auswählen und auch nur eine Option beim Absenden des Formulars abfangen. Um die Mehrfach-Auswahl des Selects zuzulassen, müssen wir das Feld so definieren:

<select name="MeinSelect" multiple="multiple">
</select>

Hier fängt PHP jedoch nur ein Element ab, wenn man das Formular absendet. Was tun?

Lösung

Um PHP zu helfen einzusehen, dass wir nicht einfach nur eine Option mit unserem Select abschicken, müssen wir unseren Select wie folgt definieren:

<select name="MeinSelect[]" multiple="multiple">
</select>

Hier fällt auf, dass wir beim Namen des HTML-Feldes die Zwei eckige Klammern hinzugefügt haben – name=”MeinSelect[]“. Da ändert sich nichts an der HTML Programmierung, jedoch somit teilen wir PHP mit, dass wir eigentlich ein Array übergeben und dieses Array wird automatisch über die $_POST Variable verfügbar:

foreach($_POST['MeinSelect'] as $MarkiertesElement) {
echo MarkiertesElement;
}

Aufgrund des Positionieren der Klammer, berücksichtigt PHP unser Select auf eine andere Art und Weise und kann die Auswahl auslesen. Was uns bleibt ist diese Werte in einer for Schleife auszulesen und zu nutzen. Somit können Sie beispielsweise eine Auswahl an Tags einer Seite zuordnen und bei jedem Durchgehen der Schleife führen Sie ein MySQL “Insert” aus.

Fazit

Die Übergabe der Mutliple Select Auswahl an PHP hilft Ihnen eine Mehrfachauswahl auch Ihren Nutzer zur Verfügung zu stellen. Die Alternative hierzu wäre die Elemente zu listen und neben jedem Element eine Checkbox zu implementieren, die Sie dann einzeln auswerten müssen. Diese Methode ist viel komplizierter. Die Nutzer sind mittlerweile an die Mehrfachselektierung gewöhnt. Wenn Sie ihnen das bequemer machen wollen, können Sie nützliche Auswahl-Methoden mit Javascript einbauen. Lesen Sie hier mehr dazu – “Select Options automatisch mit Javascript markieren“.

T-Shirt Designer Programmierung Online

Montag, 31. August 2009

Wir möchten an dieser Stelle ein interessantes Konzept präsentieren – der Shop http://a61.de und der Programmierungskonzept – Textildesigner.

Das war eine richtige Herausforderung was Programmierung angeht, jedoch hat das Ergebnis richtig Spass gemacht. Das ist eine richtige Mischung zwischen AJAX, JavaScript, Webdesign und Programmierung.

Den Designer können Sie sich hier anschauen:
https://a61.de/de/t-shirt_designer.html

Um das Konzept weiter zu entwickeln, haben wir uns Gedanken in Richtung Webmasterprogramm gemacht, damit jeder Webmaster den T-Shirt Designer bei sich intergrieren kann. Lesen Sie hier mehr dazu:

http://www.use-web.com/marketing/t-shirt_designer.html

Sollten Sie mehr erfahren wollen in Richting T-Shirt Programmierung, so können Sie sich bei uns melden.

Viel Spass.