phpbuddy.eu
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 13.11.2006, 11:25   #1
TP-Senior
 
Benutzerbild von mat81
 
Registriert seit: Jun 2005
Ort: Köln
mat81 macht alles soweit korrekt
Question

Xajax und Drop-Downliste (geht nur im Fuchs)


Hallo allerseits,

seit einigen Tagen beiß ich mir nun schon an mehreren Problemen die Zähne aus.

Eines der schwerwiegensten: Mein Dropdownfeld, welches von Ajax generiert wird, funktioniert nur im Firefox.

Ausgangssituation ist ein Selectfeld, welches beim Ändern eine Javascriptfunktion aufruft, die wiederum eine PHP-Funktion startet, welche die Auswahl verarbeiten. Ein anderes Selectfeld soll daraufhin mit Werten gefüllt werden. Auch dieses Selectfeld besitzt einen Javascriptaufruf, welche beim Ändern der Auswahl gestartet wird.

Jedes der Selectfelder besitzt im Select-Tag die Werte id und name, welche denselben Wert enthalten. Hab irgendwo gelesen, dass Firefox ansonsten Probleme hat, im DOM das richtige Element zu finden.

HTML-Code:
<select id="select2" name="select2" onChange="submitDropdowns(this.id);">
</select>
Das ist der Codeausschnitt aus dem 2. Selectfeld. Das 1. hat, wie gesagt schon Werte. Das 2. soll gefüllt werden.

Per PHP-Funktion werden die Option-Felder an Ajax in die Variable $sForm zurück übergeben, welche dann mittels
PHP-Code:
$objResponse->addAssign("select2","innerHTML",$sForm
An in das Select-Tag integriert werden.

Doch werden die Werte nur im Firefox angezeigt. In Opera werden keine Werte angzeigt, aber die Dropdownbox funktioniert (Values sind enthalten, nur keine Werte innerhalb der Option-Tags). Im IE funktionierts überhaupt nicht.

Hier nochmal ein Beispiel, was von der PHP-Funktion zurück an $sForm übergeben wird.

PHP-Code:
<option value="1">Erster Wert</option>
<
option value="2">Zweiter Wert</option
Ich weiß einfach nicht weiter... stimmt denn was mit der Rückgabe nicht? Alternativ habe ich auch schon versucht, den kompletten Select-Teil in diese PHP-Funktion auszulagern, doch Fehlanzeige.
__________________

The difference between theory and practice is
that in theory there is no
difference between theory and practice
but in practice there is
mat81 ist offline   Mit Zitat antworten


Alt 28.02.2007, 21:35   #2
TP-Newbie
 
Registriert seit: Feb 2007
Werther macht alles soweit korrekt
Auch wenn's fast schon leichenschändung ist, dieses recht alte Thema hervorzugraben, schreibe ich dennoch mal etwas dazu weil's eben gerade so gut passt.

Der Ansatz über "$objResponse->addAssign("select2","innerHTML",$sForm)" ist in diesem Fall nicht ideal. Hilfe fand ich auf der Offiziellen Seite des Projekts:
http://wiki.xajaxproject.org/De:Tuto...ehle_erstellen

Da wird genau dieses Problem aufgegriffen und gelöst. Danach funktioniert es auch in anderen Browsern.

Damit komme ich dann auch schon zu meinem Problem:
Wenn ich nun das Select-Feld nach einem Button-Click mit Daten aus einer Datenbank fülle ist das ja gut und schön und funktioniert. Wenn ich den Button nun jedoch erneut drücke bleiben die alten Einträge bestehen und es werden weitere angehängt.
Wie bekomm ich die raus?
Verschiedene Ansätze habe ich schon ausprobiert, aber da hat bisher nix geklappt, mindestens ein Eintrag blieb immer drinnen bzw. es es waren mal mehr mal weniger. Hat irgendwer einen Tipp dieses Problem zu lösen?

thx

Werther
Werther ist offline   Mit Zitat antworten
Alt 04.04.2007, 15:54   #3
TP-Newbie
 
Registriert seit: Apr 2007
caflismaurus macht alles soweit korrekt
Hab das so gelöst, das ich vor den Optionen noch ein leeres innerHTML in das Select gemacht habe. Funktioniert mit IE6 unf Firefox prima.

PHP-Code:
$objResponse = new tx_xajax_response();

$objResponse->addAssign('<ID deines SELECT-Elements>''innerHTML''');

// Schleife für die Optionen        
for($i=0$i<10$i++) {
    
$sScript 'var option = new Option(\'Wert '.$i.'\', \'$i\');';
    
$sScript .= 'document.getElementById(\'<ID deines SELECT-Elements>\').options.add(option);';
    
$objResponse->addScript($sScript);
}

//return the XML response
return $objResponse->getXML(); 
caflismaurus ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Xajax und Drop-Downliste (geht nur im Fuchs) Xajax und Drop-Downliste (geht nur im Fuchs)
« Weitere Ausgaben nach if-Anweisung abbrechen. | OOP - private nur in PHP 5? »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:28 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67