Hallo, Ich möchte zwei Selektbox in mein Formular einfügen. Der augewählte Wert der zweite Selektbox hängt vom ersten Selektbox ab.
Wo kann ich in class.tx_extname_pi1.php Ajax einfügen damit das Formular nicht neu geladen wird?
Der erste selektbox enthält eine Liste von Sport aus der Datenbank, und der zweite selektbox soll eine Liste von Spieler der ausgewählte Sport anzeigen. Alle Daten sind in der Datenbank gespeichert(Sport und Spieler).
Weiß jemand wie das geht?
Danke für die schnelle Antwort ich werde das Tutorial lesen und hoffentlich eine Lösung finden
Ich weiß immer noch nicht wie die Ajax Quellcode in meine Klasse einfügen soll
Ich habe die Javascript Funktion in die Klasse eingefügt, und weiß nicht wie ich die Funktion go() in mein Formular aufrufe.
function jsaktion(){
$jscript = '
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox und andere Browser
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else {
alert("Ihr Browser unterstützt kein XMLHTTPRequest Objekt...");
xhr = false;
}
return xhr;
}
function go(){
var xhr = getXhr();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
derselect = xhr.responseText;
document.getElementById("spieler").innerHTML = derselect;
}
}
xhr.open("POST","pi1/class.tx_jgextname_pi1.php",true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
sel = document.getElementById("sport");
idsport = sel.options[sel.selectedIndex].value;
xhr.send("Idsport="+idsport);
}';
}
Wie kann ich die Variable Idsport in meine Abfrage für Spieler benutzen. Der erste selektbox funktioniert aber der zweite ist noch leer
Schau mal in die lib/class.tx_powermail_countryzones.php von powermail - vielleicht wird es dann klarer.
Bei Änderung im Dropdown wird hier über Ajax (XAJAX) die php Funktion addZoneSelector() aufgerufen.
Grüße, Alex
Hier ist die Abfrage für Sport
Sport:
<select style="width:230px;" name="sport" id="sport" onchange="go()"><option value="-1"></option>';
// Nehme alle Sport und fülle die Selectboxen damit
$query = mysql_query(" SELECT * FROM tx_jgextname_sport WHERE DELETED = 0 ");
while($result = mysql_fetch_array($query))
{
$content .= '<option value='.$result['uid'].'>'.$result['bezeichnung'].'</option>';
}
Die zweite Abfrage für Spieler ist
Spieler:
<select style="width:230px;" name="spieler" id="spieler" ><option> </option>';
//Fülle die Daten mit Spieler, die zu ausgewählte sport gehören
if (isset($postlist['Idsport']))
{
$queryspieler = mysql_query(" SELECT * FROM tx_jgextname_spieler
WHERE sportid =".$postlist['Idsport']." ");
while($result = mysql_fetch_array($queryspieler))
{
$content .= '<option value='.$res['uid'].'>'.$res['spielername'].'</option>';
}
$content .= '</select>';
}
Schau mal in die lib/class.tx_powermail_countryzones.php von powermail - vielleicht wird es dann klarer.
Ich habe diese Datei nicht in Ordner lib. Oder habe ich die Erweiterung nicht Komplet heruntergeladen?
Grüße
Kuan yin
Ich habe meine Quellcode in 2 einfache Php Datei eingefügt es gibt ein Datei sport.php und spieler.php, die Abfrage funktionniert wunderbar auf mein Xampp (localhost)und die Felder werden genau so ausgefüllt, wie ich es wollte.
Wie kann ich das selbe in meine typo3 Klasse machen?
Ich habe eine zweite Klasse erstellt class_jgextname_ajaxform.php mit dem zweiten selectbox und zweite abfrage. Ich bekomme den Fehler
Warning: Cannot modify header information - headers already sent by (output started at /var/www/htdocs/typo3conf/ext/jg_extname/pi1/class.tx_jgextname_ajaxform.php:1) in /usr/share/php/typo3_src-4.2.1/typo3/sysext/cms/tslib/class.tslib_fe.php on line 3221
Ich weiß nicht mehr was ich machen soll #angry#
Hallo einpraegsam,
Schau mal in die lib/class.tx_powermail_countryzones.php von powermail - vielleicht wird es dann klarer.
Bei Änderung im Dropdown wird hier über Ajax (XAJAX) die php Funktion addZoneSelector() aufgerufen.
Grüße, Alex
Ich habe die Klasse gefunden in online Repository. Ich hatte die alte Powermail Version.Weiß du wie ich ein update von powermail in Ext Manager machen kann? oder muss ich alles deintallieren und die neue Version installieren?
Wenn ich jetzt eine Funktion wie addZoneSelector($value) schreiben würde, würde ich das in eine andere klasse Schreiben?