Benutzername    Passwort    Autologin    
  Passwort vergessen       Registrieren  
beeForum Foren-übersicht » werkstatt
Neues Thema eröffnen   Neue Antwort erstellen Hervorhebung entfernen


AJAX-Programmierung, die Erste
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Puge Henis





Titel: AJAX-Programmierung, die Erste
Verfasst am: Sa, 14 Apr 2007, 16:17
Beitrag
Antworten mit Zitat

AJAX-Programmierung, die Erste
Asynchrones Javascript im Online-Shop


IST: Mit PHP werden aus einer mySQL-Datenbank alle Produkte nach Kategorie ausgelesen und in der Shop-Liste angezeigt. Es wird zuerst der Grundpreis angezeigt und 2 Select-Menues mit je nach Datensatz unterschiedlichen Papiergrössen (1) und Papiersorten (2). Siehe hier



SOLL: Nun soll dynamisch der End-Preis ermittelt werden, ohne dass die Seite jedoch neu lädt. Diese Daten (Papiergrösse und -sorte, End-Preis) sollen dann nach Klick auf das Warenkorb-Icon in den Bestellkorb gelegt werden (Shop-Funktion besteht bereits, ist in Javascript realisiert, siehe hier)

Eine Lösung, die man normalerweise nur in Flash programmieren könnte, sie wäre mit normalem HTML so nicht realisierbar. Wäre alles kein Problem, wenn nur ein fester Preis bestünde... Doch der Shop soll ja dynamisch sein... Hab also im Internet lange gesucht und bin auf folgendes gestossen:

AJAX (Asynchrones Javascript): Nur Teilbereiche einer Website werden neu geladen und die erforderlichen Werte (ohne die Seite neu zu laden) vom Server geholt.

Und hier ist der erste Versuch, testweise Daten aus einem Selectmenue (1) in ein nächstes, von 1 abhängiges Selectmenue (2) zu übertragen:

Beispiel: http://face-design.biz/demo/ajax/ajax.htm


ajax.js
Code:
function processData( xmlHttp, intID )
{
    // process text data
    updateMenu( xmlHttp.responseText );
}


function updateMenu(str)
{
 //Selectbox mit Namen wuensche2 leeren
 document.test.wuensche2.length = 0;
 //Antwort vom Server ist eine Kommagetrente Liste
 //Daraus ein Array machen und in elems speichern
 var elems = str.split(",");
 //Aus jedem Element des Arrays eine neue Option machen und an die Box anf?gen
 for (var i = 0;i < elems.length; i++)
 {
  neu = new Option(elems[i],elems[i],false,false);
  document.test.wuensche2.options[document.test.wuensche2.length] = neu;
 }
  //Neue Select-Box sichtbar machen
  document.getElementById("select2").style.display="block";
}

// globales XMLHttpRequest-Objekt erzeugen
var xmlHttp = getXMLRequester();

//Request aufrufen
function fillSelect2()
{
      strSource = "ajax.php";
      strData = "wunsch=" + document.test.wuensche1.value;
      intType= 0; //GET
      intID = 1;
       sendRequest(strSource,strData,intType,intID);
}


ajax.php
Code:
$return = array();
$return["kinder"] = array("Elias","Sophia","Felix","Ronja","Lilly","Leander");
$return["autos"] = array("VW","Porsche","Mercedes","Audi");
$return["technik"] = array("Handy","Kamera","Server","Laptop","PDA");

echo implode(",",$return[$_GET["wunsch"]]);



Im nächsten Schritt werden nun alle Select-Menues mit IDs indiziert, um dann per AJAX angesprochen werden zu können. Die Funktion UpdateMenu() wird nun für das Eingabefeld "Preis" umgeschrieben und der Preis je nach gewählten Werten neu berechnet.

(...) to be continued...


Zuletzt bearbeitet von Puge Henis am Do, 26 Apr 2007, 04:27, insgesamt einmal bearbeitet. (1 Prozent)

Nach oben
Rang:
Puge Henis





Titel: (Kein Titel)
Verfasst am: Sa, 14 Apr 2007, 20:43
Beitrag
Antworten mit Zitat

Toll. das AJAX-Beispiel funzt nur in Firefox Sad

Boris, hast Du nicht zufällig Plan von der Materie?

Nach oben
Rang:
boris



Beiträge: 11154

Titel: (Kein Titel)
Verfasst am: Sa, 14 Apr 2007, 20:45
Beitrag
Antworten mit Zitat

Randgruppe™ @ Sa, 14 Apr 2007, 21:43 gab folgendes von sich:
Boris, hast Du nicht zufällig Plan von der Materie?

Ein bißchen - da ich AJAX aber mit .NET programmiere und dabei browserspezifischer Code automatisch (!!) erzeugt wird, kann ich dir da jetzt aus dem Stehgreif nicht so wirklich weiterhelfen.


____________
beehave - home of humbug ... [we can't afford to be neutral]

Nach oben
Private Nachricht senden Website dieses Benutzers besuchen Rang:godmode methusalem 3. platz professioneller Sportangler Profi-Winzer (7x Hamm) Arcade-Meister, Rang 16 rainbow-cup
Puge Henis





Titel: (Kein Titel)
Verfasst am: So, 15 Apr 2007, 03:36
Beitrag
Antworten mit Zitat

hab's dann doch irgendwie geschafft (naja, fast), mit herkömmlichem Javascript.

PS: Schreibst Du eigentlich Pflichtenhefte oder sowas?


Zuletzt bearbeitet von Puge Henis am Do, 26 Apr 2007, 04:15, insgesamt einmal bearbeitet. (1 Prozent)

Nach oben
Rang:
boris



Beiträge: 11154

Titel: (Kein Titel)
Verfasst am: Mo, 16 Apr 2007, 11:12
Beitrag
Antworten mit Zitat

Randgruppe™ @ So, 15 Apr 2007, 04:36 gab folgendes von sich:
PS: Schreibst Du eigentlich Pflichtenhefte oder sowas?

Kommt auf den Kunden, die Größe des Projekts und die Abrechnungsart an. Bei großen Kunden/Projekten auf jeden Fall, bei Pauschalpreisen erst recht, damit man nachher nicht noch zwei Wochen nacharbeiten muß, weil man selbst und der Kunde eine andere Vorstellung von einem "fertigen" Projekt hatten.


____________
beehave - home of humbug ... [we can't afford to be neutral]

Nach oben
Private Nachricht senden Website dieses Benutzers besuchen Rang:godmode methusalem 3. platz professioneller Sportangler Profi-Winzer (7x Hamm) Arcade-Meister, Rang 16 rainbow-cup
boris



Beiträge: 11154

Titel: (Kein Titel)
Verfasst am: Mi, 25 Apr 2007, 22:25
Beitrag
Antworten mit Zitat

Hast du eigentlich mal "AJAXed" für phpBB ausprobiert ? Hab das nur mal grob überflogen, aber die Features waren insgesamt nicht unblöd: Posts direkt editieren können, etc. etc.
Der Einbauaufwand kam mir dann aber doch etwas monströs vor, deswegen hab ichs gelassen ...


____________
beehave - home of humbug ... [we can't afford to be neutral]

Nach oben
Private Nachricht senden Website dieses Benutzers besuchen Rang:godmode methusalem 3. platz professioneller Sportangler Profi-Winzer (7x Hamm) Arcade-Meister, Rang 16 rainbow-cup
Puge Henis





Titel: (Kein Titel)
Verfasst am: Do, 26 Apr 2007, 04:11
Beitrag
Antworten mit Zitat

boris @ Mi, 25 Apr 2007, 23:25 gab folgendes von sich:
Hast du eigentlich mal "AJAXed" für phpBB ausprobiert ? Hab das nur mal grob überflogen, aber die Features waren insgesamt nicht unblöd: Posts direkt editieren können, etc. etc.
Der Einbauaufwand kam mir dann aber doch etwas monströs vor, deswegen hab ichs gelassen ...

hab sowas kürzlich in nem anderen Forum gesehen und dachte auch gleich: für den Posting-Editor ist das doch echt ne feine Sache: Die Preview ist sofort da, ohne dass die Seite neu laden muss. Und alles wird viel fixer!

Na komm Boris, wäre das nicht ein netter neuer Mod?
phpbb-WYSIWYG-Mod Wink

So fett muss der Mod ja nicht sein...

Nach oben
Rang:
boris



Beiträge: 11154

Titel: (Kein Titel)
Verfasst am: Fr, 27 Apr 2007, 22:26
Beitrag
Antworten mit Zitat

Randgruppe™ @ Do, 26 Apr 2007, 05:11 gab folgendes von sich:
Na komm Boris, wäre das nicht ein netter neuer Mod?

Wäre schon, da es die Nummer aber schon gibt (wenn auch nur eingebettet in das Monster-Teil), ich gerade so gar keine Zeit habe und mir schon jetzt vor dem zu leistenden Support graut: ich stelle das mal zurück big grin


____________
beehave - home of humbug ... [we can't afford to be neutral]

Nach oben
Private Nachricht senden Website dieses Benutzers besuchen Rang:godmode methusalem 3. platz professioneller Sportangler Profi-Winzer (7x Hamm) Arcade-Meister, Rang 16 rainbow-cup
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    beeForum Foren-übersicht » werkstatt Seite 1 von 1
Gehe zu:  



ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Tschingis Aitmatow - Der erste Lehrer boris kühnes mittelscharfer 0 Mi, 08 Sep 2021, 19:31 Letzten Beitrag anzeigen
Keine neuen Beiträge A. E. van Vogt - Der erste Marsianer boris kühnes mittelscharfer 0 Mo, 13 Jul 2020, 21:34 Letzten Beitrag anzeigen
Keine neuen Beiträge Film: Beim Sterben ist jeder der Erste boris zelluloid 0 Do, 07 Apr 2016, 15:52 Letzten Beitrag anzeigen
Keine neuen Beiträge Ian McEwan - Erste Liebe - Letzte Riten boris kühnes mittelscharfer 0 Do, 02 Jul 2015, 10:33 Letzten Beitrag anzeigen
Keine neuen Beiträge Der erste Schnee..... jemals! jrose internet junk 0 Sa, 20 Aug 2011, 17:48 Letzten Beitrag anzeigen


Schreiben: nein. Antworten: nein. Bearbeiten: nein. Löschen: nein. Umfragen: nein.
phpBB © phpBB Group | impressum